Eso se produce porque tu aplicación empieza a poner en cola, todos los mensajes del sistema operativo, una forma de solucionar esto, es mediante el método ProcessMessages del objeto Application:
Código:
repeat
Application.ProcessMessages;
until...
Saludos!