Consulta LINQ - Explicação necessária sobre por que esses exemplos são diferentes

Estou lendo o livro "LINQ Pocket Reference" e há um exemplo específico (ligeiramente modificado abaixo) de que estou tendo dificuldade em entender o assunto ... A explicação no livro é um pouco breve, então fiquei pensando se alguém poderia explicar passo a passo para mim, para que faça sentido ...

    IEnumerable<char> query2 = "Not what you might expect";
    foreach (char vowel in "aeiou")
    {
        var t = vowel;
        query2 = query2.Where(c => c != t);
        // iterate through query and output (snipped for brevity)
    }

Emite isso:

    Not wht you might expect
    Not wht you might xpct
    Not wht you mght xpct
    Nt wht yu mght xpct
    Nt wht y mght xpct

O que faz todo o sentido para mim ... No entanto, isso não acontece.

    IEnumerable<char> query2 = "Not what you might expect";
    foreach (char vowel in "aeiou")
    {
        query2 = query2.Where(c => c != vowel);
        // iterate through query and output (snipped for brevity)
    }
    Not wht you might expect
    Not what you might xpct
    Not what you mght expect
    Nt what yu might expect
    Not what yo might expect

o que não ...

Alguém pode me dar uma explicação melhor do que exatamente está acontecendo aqui?

questionAnswers(2)

yourAnswerToTheQuestion