Unexceptional non-blocking task-based flow control in .NET