¿Cómo funciona GroupBy en LINQ?

Originalmente tengo un diccionario de<string, List<ProviderSummary>> llamadorowsDictionary

Ahora, para cada clave de ese diccionario, agrupo su lista de valores según algunos criterios, como se muestra a continuación:

    Dictionary<string, List<ProviderSummary>> providerGroups = rowsDictionary.ToDictionary(
            x => x.Key,
            v => v.Value.GroupBy(x => new { x.GroupID, x.GroupFin, x.ZipCode })
                      .Select(x => x.First())
                      .ToList());

así por ejemplo sikey["1234"] originalmente tenía 6 elementos en su lista de valores, ahora puede tener dos elementos basados en esa agrupación. Mi pregunta y confusión es ¿qué pasa con el resto de los valores? (esos cuatro) y ¿qué valores entrarán en estas dos listas que se devuelven para el grupo?

Respuestas a la pregunta(3)

Su respuesta a la pregunta