Это потому, что строки C # являются неизменяемыми типами, что означает, что вы не можете изменить значение экземпляра.
Когда вы изменяете значение строки, вы фактически создаете новую строку и изменяете ссылку, чтобы она указывала на новую строку, после чего две ваши ссылочные переменные больше не ссылаются на один и тот же экземпляр строки, одна ссылается на исходную строку, а другая ссылается на новый экземпляр строки с новым значением.