title: Stack overflow in .NET sends IIS to 100% CPU usage - why no StackOverflowException?
body: <p>I had some code in an ASP.NET application running on Server 2008 R2 + IIS 7.5. Whenever I loaded a particular page, it would hang forever and send IIS to 100% CPU usage. I eventually tracked down the problem.</p>
  
  <pre><code>public string Comments
  {
      get { return this.Comments; }
  }
  </code></pre>
  
  <p>Oops - should have been <code>return this.Photo.Comments</code>. So, my question is, why didn't .NET generate a StackOverflowException, but instead let IIS run at 100% CPU for far longer than it should have taken. In my experience programming with .NET, it takes seconds or less to get a StackOverflowException when doing something like the above. So how could it still be running for almost 30 minutes on IIS?</p>