title: Calling Close() or Dispose() on MessageQueue does nothing
body: <p>I am having an issue with calling <code>Close()</code> or <code>Dispose()</code> on a <code>MessageQueue</code>. I got an application that is supposed to be able to manage these message queues. Open and Close them.</p>
  
  <p>But when I call <code>Close()</code> or <code>Dispose()</code> nothing happens. The queue still exists on the machine. I use the <code>MessageQueue.GetPrivateQueuesByMachine()</code> method to get an array of <code>MessageQueue</code>'s and it's still in there after calling <code>Close()</code> or <code>Dispose()</code>. After some reading around it seems that <code>Dipose()</code> should be the one I use but still.</p>
  
  <p>This is the code I use to try and close the queue</p>
  
  <pre><code>public String CloseQueue(String path)
  {
      if (GetQueueArray().Length == 0)
      {
          return "The Queue Array is Empty!";
      }
  
      foreach (MessageQueue m in GetQueueArray())
      {
          if (m.Path.Equals(path))
          {
              try
              {
                  path = m.QueueName;
                  m.Close();
                  break;
              }
              catch (Exception e)
              {
                  return e.Message;
              }
          }
      }
      return "Successfully Closed Queue at path: " + path;
  }
  </code></pre>
  
  <p>The method<code>GetQueueArray()</code> is defined as so (in the same class):</p>
  
  <pre><code>public MessageQueue[] GetQueueArray()
  {
      return MessageQueue.GetPrivateQueuesByMachine(machinename);
  }
  </code></pre>
  
  <p>I do this just out of convenience in my GUI Application to call that method when needed.</p>
  
  <p>How do I actually close or dispose of the queues?</p>