Чрезмерное использование метода Application.DoEvents() может привести к падению производительности многозадачного приложения. 1 Это связано с тем, что обработка очереди сообщений происходит за счёт времени, затрачиваемого на выполнение основной задачи. 1
Чтобы минимизировать влияние DoEvents на производительность, рекомендуется минимизировать его вызовы и тщательно проверять логику программы на предмет ошибок и непредвиденных поведений. 1
Вместо DoEvents для выполнения длительных операций предпочтительнее использовать асинхронное программирование. 1 Это позволяет избежать блокировки UI-потока и обеспечивает лучшую архитектуру программы. 1
Также можно вызывать DoEvents не на каждой итерации цикла, а с определённой периодичностью, например, через каждые 10 итераций. 4