c # string interning

Estou tentando entender a cadeia de caracteres interna e por que parece não funcionar no meu exemplo. O objetivo do exemplo é mostrar que o Exemplo 1 usa menos (muito menos memória), pois deve ter apenas 10 strings na memória. No entanto, no código abaixo, ambos os exemplos usam aproximadamente a mesma quantidade de memória (tamanho virtual e conjunto de trabalho).

Por favor, informe por que o exemplo 1 não está usando muito menos memória? obrigado

Exemplo 1:

        IList<string> list = new List<string>(10000);

        for (int i = 0; i < 10000; i++)
        {
            for (int k = 0; k < 10; k++)
            {
                list.Add(string.Intern(k.ToString()));
            }

        }

        Console.WriteLine("intern Done");
        Console.ReadLine();

Exemplo 2:

        IList<string> list = new List<string>(10000);

        for (int i = 0; i < 10000; i++)
        {
            for (int k = 0; k < 10; k++)
            {
                list.Add(k.ToString());
            }

        }

        Console.WriteLine("intern Done");
        Console.ReadLine();

questionAnswers(4)

yourAnswerToTheQuestion