Похоже что ошибка происходит в асинхронной части suspend функции (мало информации)... Если это так, то такую ошибку нельзя отловить из корутины через try catch. Что это за GRPC? Попробуйте обернуть вызов передаваймой suspend функции в coroutineScope{}
Suspend функции могут запускать обычные потоки внутри себя. Если внутри потока не поймать ошибку, то это приведёт к крашу. И не поможет try catch вокруг suspend функции. Возможно у Вас такой случай. не понятно что делает GRPC
Я совсем запутался :( Вот у меня есть runCatching который, отрабатывает. И если происходит падение, то onFailure отрабатывает, а если Я использую эту функцию где-то в коде, то onFailure там не отрабатывается и все падает