For some reason, there's been a lot of buzz lately around immutability in C#. If you're interested in algorithms and data structures, it's a fascinating subject. Immutable objects, according to Patrick Smacchia, have the following advantages: They simplify multithreaded programming. They can be used as hashtable keys. They simplify state comparison.