T>Это еще не самая большая беда. Без легковесных потоков — это просто набор костылей, которые по сути мало что меняют.
Так эти async/await и нужны именно для того, чтобы не писать рантайм по типу Эрланга.
Опять же, threadpool, если о нем думать как о scheduler'ах, и считать каждый Task отдельным "легковесным потоком", в общем-то, реализует данный сценарий. Просто инструментов для интроспекции там вообще нет, телеметрия ужасна, ну и в целом неэлегантно. Все-таки, Java уже скоро 30 (?) лет исполнится, а C# недалеко от нее ушел. В основном лишь в плане сахара.