title: (MSMQ) mqsvc.exe doesn't release memory
body: <p><a href="http://social.msdn.microsoft.com/Forums/en-US/msmq/thread/b284e1b2-b606-4e88-9cff-f1a34ddf520c" rel="nofollow">MSDN Thread</a></p>
  
  <p>Hi, all.</p>
  
  <p>First of all, please excuse any english language mistakes in the following description, because, I'm not a native speaker and well, I can't write it perfectly.</p>
  
  <p>I'm trying to create a .NET (4.0) service for remote/transactional/asynchronous reception of recoverable messages from several queues. So, first, I use BeginPeek method and then Receive method in a TransactionScope (which implicitly uses MSDTC).</p>
  
  <p>The problem is the mqsvc.exe of the host machine (win7/2k8r2 sp1) running my service, which does nothing else (and certainly nothing related to the reception/hosting of messages, MSMQ is empty and clean). mqsvc.exe memory allocation grows and it never releases any memory. All MSMQ registry keys about cache cleaning interval have a short time value (about 1 minute).</p>
  
  <p>I tried several options :</p>
  
  <ul>
  <li>with local and remote MSDTC (remote with obviously the host machine of messages).</li>
  <li>with the COM library mqoa.dll instead of .NET to use explicit MSDTC transactions for MSMQ.</li>
  <li>with several different machines (all win7/2k8r2 sp1).</li>
  </ul>
  
  <p>There are no exceptions at the execution of my service, and all resources that I can close or/and dispose are closed/disposed as soon as possible. The memory allocation of my service is stable.</p>
  
  <p>In all cases, it's the same problem. How to solve it?</p>
  
  <p>Thanks in advance.</p>
  
  <p>Vincent.</p>