Pasek postępu C #

Mam pasek postępu, aby pokazać status programu ładującego utwory do biblioteki.

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

InitializeLibrary () jest funkcją, która zwraca listę

Problem polega na tym, że pasek postępu przestaje się „przesuwać” po pewnym punkcie (np. 20%), podczas gdy wartość wciąż rośnie. Czy istnieje sposób, aby aktualizować go w 100%?

questionAnswers(2)

yourAnswerToTheQuestion