Майк Роузз в недавнем MS devblog пишет, что:
Все делегаты предоставляют API-интерфейсы BeginInvoke и EndInvoke, поэтому нет никакой гарантии, что работа фактически выполняется асинхронно (BeginInvoke может простовызвать синхронный рабочий процесс в другом потоке).
Я концептуально понимаю, что это значит: этот другой, все еще синхронный, поток может быть заблокирован в ожидании завершения какой-либо операции (например, сетевой запрос / доступ к диску)).
Правильно ли мое понимание?
Есть ли другие причины для такого различия?