Not really a direct answer to your question, but I thought it would be helpful:
Having an instance of AutoCAD running and waiting for respond multiple automation requests is a not reliable design, IMO: since AutoCAD can only do one thing at a time, how do you make sure there is no more than 2 requests coming in overlapped that crashes either the client app (user side) or even the AutoCAD instance? With 40-60 users who may send request from their client app, depending on the nature of the app, the chance of concurrent requests may be high enough the guarantee the failure of the process.
With this in mind, you may want to design the process in different way: have the AutoCAD instance starts on the computer (server computer)'s startup. and check the requests stored in a Que periodically. Users' app send request to the Que rather than directly to AutoCAD. This way, you effectively decouple the 2 apps, so that each works without bothering the other (so that the user app does not have to try to get existing AutoCAD instance, or have to create one. It simply does not care; just drop the request into the que).
Of course, we leave the issue of whether running AutoCAD this way violates the license or not out of the discussion. You may look into using AutoCAD console, which is designed for such "server type" use, and it is actually better to instance each AutoCAD console to process each single drawing.