title: HttpWebResponse GetResponseStream hanging in Dispose
body: <p>I am using <code>HttpWebResponse.GetResponseStream</code> to access an internet radio stream, and want to read some data from the response stream, and then disconnect. However, I always hang indefinitely on the Dispose of the stream. The unit test below will display "Cleaning up networkStream...", but never get to "Finished". Why is this? And should I fix it by just not bothering to Dispose of my networkStream?</p>
  
  <pre><code>[Test]
  public void CanStreamMP3Radio()
  {
      string url = @"http://radio.reaper.fm/stream/";
      HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
      HttpWebResponse resp = (HttpWebResponse)req.GetResponse();
  
      int total = 0;
      byte[] buffer = new byte[1024];
  
      using(var networkStream = resp.GetResponseStream())
      {
          do
          {
              int bytesRead = networkStream.Read(buffer, 0, buffer.Length);
              Console.WriteLine("{0} bytesRead", bytesRead);
              total += bytesRead;
          } while (total &lt; 16384);
          Console.WriteLine("Cleaning up networkStream...");
      }
      Console.WriteLine("Finished");
  }
  </code></pre>