StringBuilder.Equals
Interesting note: StringBuilder instances are only considered equal if
Capacity, MaxCapacity and the string value are all the same. I
guess it makes sense in a way, but it means I can't do a if (a == b) check because who knows what
could have changed Capacity or MaxCapacity. So rather I have to do a if (a.ToString() == b.ToString())instead
- messy.
Since StringBuilder is supposed to be a mutable string I would expect to be
able to do comparisons on it like a string and not have internal state not
related to the actual value of the object play a role.