That does answer an unanswered question I had on SO about string hashing. If strings are immutable, why isn't the hash code memoized? Seems like it would make HashSet/Dictionary lookups using string keys much faster.
http://blogs.msdn.com/b/ericlippert/archive/2011/07/19/strin...
This lets them interoperate with OLE Automation.