C # строка интернирования

Я пытаюсь понять интернирование строк и почему это не работает в моем примере. Цель этого примера - показать, что в примере 1 используется меньше (намного меньше памяти), поскольку в памяти должно быть только 10 строк. Однако в приведенном ниже коде оба примера используют примерно одинаковый объем памяти (виртуальный размер и рабочий набор).

Пожалуйста, посоветуйте, почему в примере 1 не используется намного меньше памяти? Спасибо

Пример 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();

Пример 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();