ecco precisamente nel punto
data = tuoDataReader

ora non posso debuggare per vedere che errore da
cmq è li che da errore se creo una variabile ti tipo datareader e la associo alla funzione
altrimenti se uso direttamente la funzione mi fa il ricorsivo