title: C# and immutability and readonly fields... a lie?
body: <p>I have found that People claim that using all readonly fields in a class does not necessarily make that class's instance immutable because there are "ways" to change the readonly field values even after initialization (construction). </p>
  
  <p>How?  What ways? </p>
  
  <p>So my question is when can we really have a "real" immutable object in C#, that I can safely use in threading? </p>
  
  <p>Also do anonymous types create immutable objects?  And some say LINQ uses immutable objecst internally. How exactly? </p>