How runBlocking May Surprise You
runBlocking - самый простой Coroutine Builder, который не заставляет использовать
CoroutineScope и подружить синхронный мир с асинхронным.Вызов кода
runBlocking(Dispatchers.Main) { ... } на UI потоке в Android приведет к deadlock вашего приложения. И это полностью ожидаемое поведение. В статье автор делает подробный разбор как происходит работа этого кода.