Unhooking the handler fixed the issue.

Now when I did a break on the method to see what the sender object contained each call is exactly identical except the only change is:

jProcess.EnableRaisingEvents = false;

Which switches from true on the first call to false. On the second call its already false.

Even the process IDs are identical.