Почему вызывающий поток переходит в метод async, пока внутренний "ждут"?
Не просто ли очистить поток, как только вызывается метод асинхронного вызова. Таким образом, вы точно знаете, что метод async немедленно возвращается. Вам не нужно беспокоиться о том, чтобы не делать ничего дорогого на ранних этапах асинхронного метода.
Мне нравится знать, будет ли метод выполнять код в потоке "мой" или нет. Блокирует он или нет. Эта модель, по-видимому, открывает целый спектр промежуточных возможностей.
Дизайнеры гораздо умнее, чем я, поэтому я уверен, что есть веская причина, я просто хотел бы окунуться в нее.