Не знаю про блокировку потока вывода, но знаю, что если в вашем синхронном коде есть операции типа чтения с БД, запись файла куда-то на жесткий диск, сетевые всякие операции, то рекомендуют использовать асинхронный код.
Те самые операции могут затормозить выполнение всего кода, заставляя простаивать процессор.
Асинхронность и нужна, чтобы, например, при записи файла на жесткий диск процессор не простаивал, ожидая конца записи того самого файла, а выполнял какой-то код.