It holds because the status never leaves WaitingForActivation when I call it.
Actually, it WaitingForActivationis only a sign that the task has not yet been completed. This is not a reason to hang, but an indicator of this. Promise tasks (including tasks returned by methods async) will remain in a state WaitingForActivationuntil completion; I describe the state machine of a task in more detail in my blog .
Task<T>.Result Task.Wait . , , await " " async . , , Result/Wait, async .