Barra de progreso C #

Tengo una barra de progreso para mostrar el estado del programa cargando canciones en la biblioteca.

    foreach (Song s in InitializeLibrary())
    {
        Library.AddSong(s);
        pBar.Value++;
        pBar.Update();
    }

InitializeLibrary () es solo una función que devuelve una lista

El problema es que la barra de progreso deja de "moverse" después de un cierto punto (por ejemplo, 20%), mientras que el valor sigue aumentando. ¿Hay alguna forma de hacerlo actualizar el 100% del tiempo?

Respuestas a la pregunta(2)

Su respuesta a la pregunta