On Mar 18, 2010, at 2:15 PM, William Rutiser wrote:

> COM has a fairly elaborate protocol for memory management responsibilities across interfaces. Its been quite a while since I have had anything to do with it, but I am pretty sure that the receiver and generator of COM data needs to explicitly free via the appropriate COM procedure.

I've looked all over the Microsoft dev site at the COM documentation. I can't find anything that describes a complex memory management protocol. That isn't to say it isn't real just that I can't find it.

BTW, searching through the archives I found a bug report from early 2007 that describes a similar leak.

http://rubyforge.org/tracker/?func=detail&atid=1698&aid=7553&group_id=426

This particular problem wasn't related to events per se, but to leaking WIN32OLE objects. I'm betting they are related.

cr