TaskCompletionSource.SetResult() executes on the same thread as the waiting one [Answered] - C#