Olá, vc está usando o unity?
Time.timeScale = 0;
Se ajudou, vote como útil! Obrigado.
Pode colocar a rotina do jogo em uma thread a parte e usar o Thread.Sleep() nela. Assim o form não ficaria bloqueado!
Outra opção seria tentar o Task.Delay(). Veja mais no link abaixo
https://pt.stackoverflow.com/questions/261327/diferen%C3%A7a-entre-thread-sleep-e-task-delay
“First do it, then do it right, then do it better.” - Addy Osmani