title: How come NetworkStream.DataAvailable is always true?
body: <p>I open a <code>TcpClient</code> and then call <code>tcpClient.GetStream().Read(message, 0, 8)</code> in order to read messages from the connection. </p>
  
  <p>For some reason I keep getting garbage data even though the other side of the connection does not send any data. <code>Read()</code> never blocks, <code>DataAvailable</code> is always <code>true</code>, and I get a lot of garbage as the data.</p>
  
  <p>What could be the reason?</p>
  
  <p>Thank you in advance for your help!</p>