You are using too much threading. try avoid withContext(Dispatchers.IO).
Dispatchers.IO is correct for network calls but reissueToken function is in runblocking, which may not properly switch to the IO thread due to the context mismatch in runBlocking.