From String.Clone()
on MSDN:
The return value is not an independent copy of this instance; it is simply another view of the same data. Use the Copy or CopyTo method to create a separate String object with the same value as this instance.
Because the Clone method simply returns the existing string instance, there is little reason to call it directly.
It is my understanding that String is a reference type meaning that you will only ever get a reference to the string object when calling a string.
Therefore why does String.Clone() exist? What is it's purpose?