Why are strings in C# immutable?