Consulta LINQ - Explicación necesaria de por qué estos ejemplos son diferentes

Estoy leyendo el libro "LINQ Pocket Reference" y hay un ejemplo particular (ligeramente modificado a continuación) en el que tengo dificultades para entender ... La explicación en el libro es un poco breve, así que me preguntaba si alguien podría desglosarme paso a paso para que tenga 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)
    }

Salidas esto:

    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

Lo cual tiene mucho sentido para mí ... Sin embargo, esto no.

    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

que no ...

¿Alguien puede darme una mejor explicación de lo que está sucediendo exactamente aquí?

Respuestas a la pregunta(2)

Su respuesta a la pregunta