@alex owszem ma gdzieś to zadeklarowane inaczej rzucało by błędami (w trakcie kompilacji albo w momencie użycie nie jestem pewien)
w moim wpisie chodzi mi o to, że przy każdej iteracji kiedy dodaje nowy obiekt listy infoobloku musi faktycznie stworzyć nowy obiekt, czyli wywołać konstruktor. Ponieważ w obecnym kodzie operuje tylko na jednej instancji obiektu, i z racji iż jest to obiekt referencyjny zmienia wszystkie odwołania do niego. Co autor pokazał.
Faktycznie metoda clone może tu pomóc ale ja polecałbym moje rozwiązanie.
grzelix , takie właśnie rozwiązanie zaproponował nr47 (przed tobą). Ja zaproponowałem alternatywę wprowadzenie której potrzebuje mniej zmian w kodzie. Ale owszem to rozwiązanie od nr47 jest lepsze ponieważ Clone() musi kopiować całość po czym Clear() całość usuwa, tworzenie nowego obiektu eliminuje kopiowanie oraz czyszczenie, co sprowadza się do wydajniejszego kodu.