Strings are reference types, but they are immutable. This allows for them to be interned by the compiler; everywhere the same string literal appears, the same objec
Lambdas can't be interned because they use an object to contain the captured local variables. And this instance is different every time you you construct the delegate.