Строка хоть и класс, но в методы передаётся копия строки. Если ты изменишь строку не рефом в методе, то она не изменится в блоке программы, где ты вызвал метод
Вообще имхо передача по ref опасная вещь, забудешь что в метод по ссылке передал и будешь потом втыкать почему у тебя значение поменялось. Имхо лучше return'ом вернуть.