Esto es una pregutna muy típica, pero con una explicación que sería muy larga de explicarte con todos los detalles.
Lee sobre técnicas de programación asincrónica, puedes utilizar la class
Thread, la class
BackgroundWorker, o la class
Task, por este orden que he mencionado de menor a mayor abstracción.
También puedes leer los ejemplos de código que publiqué aquí:
Si no te ves capaz de implementar nada de eso entonces siempre puedes recurrir a una simple llamada a
Application,DoEvents() en un búcle, pero es una metodología imprudente que trae consecuencias, y que la puedas usar depende de a lo que te refieras por "detener", si aplicas esta metodologia y lo que quieres es cerrar el
Form entonces debes asegurarte de controlar el evento
Form.FormClosing y terminar abrúptamente la ejecución de la app en ese preciso momento.
Saludos!