The developer therefore does not need to worry about thread locking or race conditions. Multi-Threaded Apartment[23] (MTA), (ThreadingModel=Free) The COM run-time provides no synchronization, and multiple threads are allowed to call COM objects simultaneously. COM objects therefore need to perform their own synchronization to prevent simultaneous access from multiple threads from causing a race condition.