Why does AppointmentItem.UserProperties.Find leak under .NET?

If you have used COM under .NET then you are probably familiar with leaking memory under .NET and the need to call ReleaseComObject in order to release underlying COM objects which are referenced by .NET code. I ran into an issue where a customer was running into a leak  with the call below: oUserProperty = oAppointmentItem.UserProperties.Find(“MyDreams”,…

1

Call Dispose on client when calling COM+ objects.

Dispose MUST be called from the client and not from the serviced component…   There is a requirement for clients of COM+ Serviced Components to call dispose on the component.  If you do not do this, it will not shut down.  When you inherit from servicedcomponent, you also inherit from IDisposable.  However, the client MUST…

1