Right now after calling Process.Start, it is only possible to wait for the process to end by calling Process.WaitForExit. In many circumstances, it would be useful to wait for one of a set of processes to exit, or wait for either a process exit or another event. WaitHandle.WaitAny would be ideal for this purpose, but the ProcessWaitHandle class used inside Process.WaitForExit has internal accessibility and not available to developers.
Clearly other users want this, e.g. in https://connect.microsoft.com/VisualStudio/feedback/details/523489/process-exited-event-doesnt-fired-when-process-exits the user was trying to workaround the fact that ProcessWaitHandle isn't exposed.
Here is another situation where a Process.WaitHandle property would provide a superior solution: http://stackoverflow.com/questions/4360720/spawn-processes-but-only-5-at-a-time