nterno @String en .Net Framework - ¿Cuáles son los beneficios y cuándo utilizar el internado

Quiero saber el proceso y las partes internas de la cadena de internamientoespecífico a .Net framework. También me gustaría conocer los beneficios del uso de prácticas internas y los escenarios / situaciones en las que deberíamos utilizar prácticas internas para mejorar el rendimiento. Aunque he estudiado prácticas del libro CLR de Jeffery Richter, todavía estoy confundido y me gustaría saberlo con más detalle.

[Edición] para hacer una pregunta específica con un código de muestra como se muestra a continuación:

private void MethodA()
{
    string s = "String"; // line 1 - interned literal as explained in the answer        

    //s.intern(); // line 2 - what would happen in line 3 if we uncomment this line, will it make any difference?
}

private bool MethodB(string compareThis)
{
    if (compareThis == "String") // line 3 - will this line use interning (with and without uncommenting line 2 above)?
    {
        return true;
    }
    return false;
}

Respuestas a la pregunta(5)

Su respuesta a la pregunta