While Reed's suggestion is great, perhaps this is not the only opportunity worth considering. 10-15 seconds initialization for quite a long time. This may be the initialization of some rather large complex data structures, which can take quite a while to serialize and deserialize. If so, it might be worth considering another possibility, such as creating a COM server (or DCOM) outside the process, which acts as an interface for the CAD API, and then let both App1 and App2 work with this server in one place . This would mean marching and canceling all the data that you send / receive from the CAD API, but depending on how much data is involved and (in particular) how often you will need to switch from the fact that it is used by App1 vs. App2, it can still have less overhead.
source share