title: Why does a single loop cause a memory leak?
body: <p>I'm facing with a very strange behaviour.
  With this dummy code:</p>
  
  <pre><code> static void Main( string[] args )
      {
          int i = 0;
  
          while ( true )
          {
              i++;
  
              String giro = "iteration " + i;
  
              Console.WriteLine(giro);
  
              Thread.Sleep(40);
          }
      }
  </code></pre>
  
  <p>Using perfom the private bytes are increasing.</p>
  
  <p><a href="http://dl.dropbox.com/u/2478017/memory.gif" rel="nofollow noreferrer">img http://dl.dropbox.com/u/2478017/memory.gif</a></p>
  
  <p>How is it possible?</p>
  
  <p>I thought GC takes care of these stuffs.</p>
  
  <p>Moreover, if I compare memory behavior of this with a version in which i force GC collection every 10 iterations, the result is (for me) surprising:</p>
  
  <p><img src="https://i.stack.imgur.com/N48Yx.gif" alt="enter image description here"></p>
  
  <p>The green process is the one with no GC.COllect(), and black one is the other.</p>
  
  <p>Could you help me to understand the issue?</p>
  
  <p>Thanks!</p>