title: When, if ever, would you expect classes marked as obsolete to be removed from the .NET framework?
body: <p>As we approach the 4th major release of the .NET framework we are likely to see an increase in the number of classes and methods marked as obsolete (to indicate they are deprecated). I found this page listing all the <a href="http://msdn.microsoft.com/en-us/library/ee471421(VS.100).aspx" rel="nofollow noreferrer">obsolete members</a> and <a href="http://msdn.microsoft.com/en-us/library/ee461503(VS.100).aspx" rel="nofollow noreferrer">types</a>, which is growing quite large now.</p>
  
  <p>So, I was wondering whether:</p>
  
  <ol>
  <li><p>Have any members or types marked as obsolete have been actually removed from any version of the framework? Are there elements from, say, .NET 1 that are not in later versions at all?</p></li>
  <li><p>Are there any formal guidelines Microsoft follow as to when elements will be removed? Is this after <em>X</em> number of releases? Elapsed time? Or is it likely deprecated elements will remain in perpetuity?</p></li>
  </ol>