Why doesn't interning work on copies of a string?
<p>Given:</p>

<pre><code>        object literal1 = "abc";
        object literal2 = "abc";

        object copiedVariable = string.Copy((string)literal1);

        if (literal1 == literal2)
            Console.WriteLine("objects are equal because of interning");//Are equal

        if(literal1 == copiedVariable)
            Console.WriteLine("copy is equal");
        else
            Console.WriteLine("copy not eq");//NOT equal
</code></pre>

<p>These results imply that <code>copiedVariable</code> is not subject to string interning.  Why?  </p>

<p>Is there a circumstance where its useful to have equivalent strings that are not interned or is this behavior due to some language detail?</p>
