With an immutable string class you don't have to worry about ownership issues, so you can pass a reference any way you like without having to worry about external clients modifying your data.

You should get yourself a copy of “.NET Framework Standard Library Annotated Reference, Volume 1: Base Class Library and Extended Numerics Library”. It has lots of information on subjects like this.