I have a COM object, and noticed that it is not thread safe, that is, when I create 30 threads (within a single process) and each one creates an instance of the COM object, it crashes. One way I got around this was by running 30 executables and each one creating an instance. But I was wondering if there was another way of doing it. I tried COM+, but realized only one dllhost.exe runs when I create multiple instance of the COM object (thus, it crashes as well). Is there a way to make it run one dllhost.exe per COM object created?