Grazie, i tuoi consigli sono preziosi ma mi sono venute in mente un altro di domandine...
ho dato un'occhiata all'ArrayList: prima io usavo un array a due "colonne" di tipo Object in modo che i vari elementi prendessero il tipo del dto che ci andavo a copiare dentro, con l'ArrayList non sono riuscito a farlo.
Come si crea un ArrayList multidimensionale?

Ho usato in precedenza un DataTableper compilare un DataGrid, che differenza c'è con il DataSet?

Grazie ancora e ancora tanto!