Scusa, ma se non posti il codice che hai usato non si capisce bene cosa hai fatto e dove sta il problema.
Io in tutti gli esempi che ho visto, il datagrid veniva sempre riempito con un datatable. Ho sempre usato questa soluzione e in tal caso mi ha sempre funzionato l'AutoGenerateColums anche con classi personalizzate.