@elizarov We already use runAsync1 for many months in production and have seen that the CPU load is more a theoretical than practial problem. I really like the way with Executors (never thought of it), thanks for this input!
But of course we would like to switch to coroutines. So probably we have a blocking problem. We will investigate further why our backend doesn't work when we change runAsync1 with runAsync2.