ghghgh errore subdolo, classico ma interessante per chi è alle prime armi

dipende dal fatto che nella collection stai inserendo 10 volte LO STESSO OGGETTO, passato per riferimento. quindi nei 10 cicli in cui popoli la collection, modificando il valore edll'oggetto lo stai modificando anche per i cicli precedenti...

mi spiego meglio

il ciclo in cui c'è l'errore è questo:

codice:
        For i = 0 To 10
            OBJ.codice = i
            OBJ.Nota = i
            Col.Add(OBJ.Nota)
        Next
al ciclo 0 obj.codice vale 0 e obj.nota anche, aggiungi l'oggetto quindi alla collection nella sua prma posizione

al ciclo 1 obj.codice vale 1 e obj.nota vale 1, ma essendo lo stesso oggetto di prima stai modificando anche l'oggetto che avevi inserito nella collection al ciclo 0, quindi alla fine del ciclo 1 la collection ha 2 riferimenti di memoria che puntano allo stesso oggetto.
al decimo ciclo hai 10 riferimenti di memoria che puntano allo stesso oggetto. ergo ti popola la lista di 10 righe uguali

soluzione, crea un nuovo oggetto ad ogni ciclo in modo che venga dedicata una nuova area di memoria a quell'oggetto.

codice:
        For i = 0 To 10
            OBJ = new cNote()
            OBJ.codice = i
            OBJ.Nota = i
            Col.Add(OBJ.Nota)
        Next