Если приложение, которое вы пытаетесь запустить, действительно является приложением .NET, как вы говорите, вам, возможно, вообще не понадобится запускать его в отдельном процессе. Вместо этого вы можете воспользоваться тем, что исполняемые файлы .NET также являются сборками. Я не думаю, что Visual Studio позволит вам ссылаться на сборки, заканчивающиеся на .exe, но компилятор командной строки будет.
Я бы попытался использовать компилятор командной строки для создания сборки-оболочки, которая просто ссылается на исполняемую сборку и напрямую вызывает ее метод Main (), передавая строковый массив любых параметров командной строки, которые вы обычно определяете. Код выхода, если он есть, будет целочисленным возвращаемым значением из метода Main. Затем вы можете просто вызвать сборку оболочки из приложения ASP.NET.
В зависимости от того, что исполняемый файл делает, и насколько он взаимодействует с консолью, этот подход может не работать вообще. Но если он работает для вашего случая, он должен работать намного лучше, чем ускорение отдельного процесса.