Index: /trunk/src/VBox/Main/webservice/vboxweb.cpp
===================================================================
--- /trunk/src/VBox/Main/webservice/vboxweb.cpp	(revision 22724)
+++ /trunk/src/VBox/Main/webservice/vboxweb.cpp	(revision 22725)
@@ -462,13 +462,9 @@
             WebLog("Request served\n");
 
-#if 0 /* Ulrich, try enable this and see if the leak goes away. */
-{
- int vrc = com::EventQueue::processThreadEventQueue(0);
- WebLog("processThreadEventQueue -> %Rrc\n", vrc);
-}
-#endif
-
             soap_destroy(&soap); // clean up class instances
             soap_end(&soap); // clean up everything and close socket
+
+            // every COM thread needs to process its event queue, or memory leaks
+            int vrc = com::EventQueue::processThreadEventQueue(0);
         }
     }
@@ -933,5 +929,4 @@
         WSDLT_ID id = pRef->toWSDL();
         WEBDEBUG(("   %s: found existing ref %s for COM obj 0x%lX\n", __FUNCTION__, id.c_str(), ulp));
-        LogDJ(("   %s: found existing ref %s for COM obj 0x%lX\n", __FUNCTION__, id.c_str(), ulp));
     }
     else
@@ -1063,5 +1058,4 @@
 
     WEBDEBUG(("   * %s: MOR created for ulp 0x%lX (%s), new ID is %llX; now %lld objects total\n", __FUNCTION__, _ulp, pcszInterface, _id, cTotal));
-    LogDJ(("   * %s: MOR created for ulp 0x%lX (%s), new ID is %llX; now %lld objects total\n", __FUNCTION__, _ulp, pcszInterface, _id, cTotal));
 }
 
