When using .NET's Process.Start to run IE8's iexplore.exe, and if you already have another IE8 window open, then the iexplore.exe process that you just started will immediately exit, and its child process will attach to the main IE8 process. The result of this is your Process object will be linked to the "invoker" process that has already exited, but not the child process that is running. Anything you want to do to the Process object will result in an InvalidOperationException telling you the process has exited.
How do I obtain a Process object that is linked to the actual child IE8 process?