C# Почему программа зависает при запуске других программ?
System.Threading.Thread.Sleep() - это СОН! 
не юзай его и всё.
Нашел ответ сам. Нужно использовать потоки, для того чтобы основная форма не зависала.