Вопрос раскрывает механизм освобождения потоков во время асинхронного ожидания.
Короткий ответ
При await на незавершённой задаче:
Текущий поток возвращается в пул потоков.
Когда задача завершается, продолжение (continuation) ставится в очередь.
Пул потоков назначает любой свободный поток для выполнения продолжения.
Длинный ответ
Зарегистрироваться
Развернутый ответ доступен только зарегистрированным пользователям.