Вам нужен прокси / заглушка, если вы хотите, чтобы ваш COM-объект вызывался из приложения, использующего другую модель потоков, чем ваш COM-объект.
Например, у нас есть плагин, который загружается приложением, которое использует определенную модель потоков (не могу вспомнить, какая), но наш COM-объект - многопоточная квартира (MTA) - поэтому требуется прокси / заглушка маршалировать данные между объектами при вызове функции, при этом придерживаясь правил модели потоков.
Если эти правила нарушены, то COM либо сгенерирует исключение, либо выдаст ошибку HRESULT, такую как RPC_E_WRONG_THREAD
Если вы не включите опцию слияния прокси / заглушки, то Visual Studio создаст отдельный проект для прокси / заглушек, которые будут встроены в отдельную DLL. Это усложняет развертывание, если оно требуется, но вы можете просто игнорировать их, если на вас не влияют проблемы с многопоточностью.
Таким образом, вы можете обойтись без прокси / заглушек, если приложение, вызывающее COM-объект, использует ту же модель потоков, что и ваш объект
Ларри Остерман в своем блоге дает читабельное введение в модели потоков .