More likely is the WaitForExit causes the OnChanged handler to block which in tern causes the change evevts to queue up.