prima del ciclo scrivi
Log(GetType(Y))
e comunque è come ti ho detto, se inizializzi una list "precaricandola" (Dim MiaList As List - MiaList.Initialize(1,2,3)) è come se la trasformassi in un array, di dimensioni fisse - 3 in questo esempio. Perde TUTTE le caratteristiche / funzionalità di una List.