Это будет сбор мусора наверняка. Даже если вы не используете String.Copy.
Строка не имеет ссылок на любые другие объекты ... вместо этого у вас есть объект, который имеет ссылку на строку ... то, что происходит с этой строкой, не имеет ничего общего с объектами, которые имеют ссылку на тот же объект строка.
Пример:
Если у вас есть объекты A, B и C, все они имеют строковое свойство, назначенное так:
string s = "str";
A.Str = s;
B.Str = A.Str;
C.Str = B.Str;
- это то же самое, что и:
string s = "str";
A.Str = s;
B.Str = s;
C.Str = s;
Когда A больше не используется, он может умереть, не влияя на другие объекты, даже если они разделяют одну и ту же строку.