Upon further thought, I have a question...Why run AutoCAD from an out of process client, when it's clearly on the machine in the first place?
Do everything inside AutoCAD to begin with...load your program in autocad and away you go...that's how a I run my C# batches. Just today I knocked up a quick dialog interface batch program to run through a selected set of drawings and change the PROJECTNAME system variable in each.
I fed it a job we received from an external source (200 drawings) and it did it in less than 20 seconds.
When you run in process compared to out of process, the speed difference in my tests (in a few languages) has been an increase by a factor of 10 AT LEAST (especially the 'C' family).
Cheers,
Glenn.
PS I don't think what you want to do will work...the .NET managed environment is inherently designed to run IN PROCESS, not OUT.
Your .exe is firing Acad from out fo process, then trying to access .NET stuff from out of proces.............