Как отловить бесконечный повтор цикла?
Нажимайте на паузу в отладчике или (cntr+alt+break) - выполнение остановится и вы сможете смотреть текущую строку и локальные переменные.
Создаёте Task, указываете ему таймоут.
https://stackoverflow.com/questions/4238345/asynch...
Но а вообще у вас просто косяк в коде, сохраняйте начальные условия, что бы потом можно было воспроизвести вариант с зацикливанием.