Если COM-объект является многопоточным, COM обеспечивает синхронизацию для принудительного выполнения одного метода для потока.
Как правило, COM должен жаловаться на то, что несколько потоков пытаются получить доступ к экземпляру объекта, используя один и тот же указатель, общий для всех потоков. Наличие статической переменной, содержащей указатель на объект, вероятно, плохая идея.
Как только общая библиотека COM-объектов загружается куда-либо (in-proc или out-of-proc) путем создания экземпляра, создание дополнительных экземпляров для каждого потока должно быть довольно быстрым. Это, конечно же, зависит от того, какие вещи делаются во время строительства объекта.