When you say "program runs heavy", do you mean that your program uses a lot of system resources (CPU time, memory...) when running?
Application.DoEvents does not make your program runs heavy. What makes it run heavy is Subroutine1, Subroutine2, Function1, Function2 and you need to show us the code in those methods before we can give any suggestions.