There is a simple Windows batch file that runs multiple instances of application:
start app.exe param1 start app.exe param2
Is there a way
Powershell has more sophisticated ways to do it without wait loops. You can wrap or call your scripts with powershell and even implement your preferred managed solutions for doing it exactly as you do it in C#.