When you start the process, handle the Process.Exited event - as long as you enable the Process.EnableRaisingEvents you will get an event when the external app ends:
Process p = new Process();
ProcessStartInfo psi = new ProcessStartInfo(@"D:\Temp\myLargeTextFile.txt");
p.EnableRaisingEvents = true;
p.StartInfo = psi;
p.Exited += new EventHandler(process_Exited);
p.Start();
...
void process_Exited(object sender, EventArgs e)
{
MessageBox.Show("It closed");
}