This chap agrees with you: http://alabaxblog.info/2013/06/redirectstandardoutput-beginoutputreadline-pattern-broken/ sounds like a paper-bag bug in BeginOutputReadLine (as opposed to in the kernel). It's not totally clear to me how his Task Parallel-based solution makes the synchronous calls act like asynchronous ones, but it might work for you to put your "expect-like" behaviour in a version of his ReadStream callback.

Peter