title: How to use 'using' with 'out' parameter
body: <p>I have a method like so</p>
  
  <pre><code>private bool VerbMethod(string httpVerb, string methodName, string url, string command, string guid, out HttpWebResponse response)
  </code></pre>
  
  <p>I use this like this</p>
  
  <pre><code>  HttpWebResponse response;
    if (VerbMethod("POST", "TheMethod", "http://theurl.com", "parameter1=a", theGuid, out response))
    {
      using (StreamReader sr = new StreamReader(response.GetResponseStream()))
      {
        string responseString = sr.ReadToEnd();
      }
  </code></pre>
  
  <p>It returns a bool to specify if the method went well, and the response is set in an out parameter to get the data.</p>
  
  <p>I sometimes get a timeout, and then subsequent requests also times out. I saw this SO
  <a href="https://stackoverflow.com/questions/1386628/webrequest-getresponse-locks-up">WebRequest.GetResponse locks up?</a></p>
  
  <p>It recommonds the <code>using</code> keyword. The problem is, with the above method signature I'm not sure how to do it. </p>
  
  <ul>
  <li>Should I manually call dispose in a finally? </li>
  <li>Is there some way to still use <code>using</code> with the <code>out</code> parameter? </li>
  <li>Rewrite the method, so it doesn't expose the <code>HttpWebResponse</code>?</li>
  </ul>