OK I solved the problem by passing in TaskScheduler.Default into the 2nd [fixed it] Task.Factory.StartNew() call.