Is anyone out there familiar with using COM under py2exe?  I can't seem to get my application to correctlly release a COM object when running under py2exe (single executable).
 
I am using the ImageMagick COM object to do some image conversions, however the COM object has a memory leak
(actually could very well be ImageMagick itself that has the leak, rather than the COM objcect)  so I work around this by releasing the COM object every so often. 
 
When running my script normally, I can watch the memory consumption rise and then fall when the COM object gets released.  However when I make a service out of my app using py2exe the memory never dops.  I'm assuming for some reason that it is failing to Initialize/Uninitialize some of the COM components correctlly.
 
 
my code looks like this
 
def do_some_stuf():
  pythoncom.CoInitialize()
  self.magick = Dispatch("ImageMagickObject.MagickImage.1")
 
  #use the image magick object for a limited time
 
  #none of this seems to release the COM object
  #and associated memory when run under py2exe
  del(self.magick)
  pythoncom.CoUninitialize()
  pythoncom.CoFreeUnusedLibraries()