public void Initialize(InstanceContext instanceContext, Message message) { object serviceConfig = null; serviceConfig = SetupServiceConfig(instanceContext, message); IServiceActivity activity; activity = (IServiceActivity)SafeNativeMethods.CoCreateActivity( serviceConfig, IID_IServiceActivity); ComPlusSynchronizationContext syncContext; bool postSynchronous = (this.info.ThreadingModel == ThreadingModel.MTA); syncContext = new ComPlusSynchronizationContext(activity, postSynchronous); instanceContext.SynchronizationContext = syncContext; instanceContext.Closing += this.OnInstanceContextClosing; Marshal.ReleaseComObject(serviceConfig); }