ma uso poco vb net sono più per il c# ma non manca un return nella funzione?
forse lo ottieni valorizzando una variabile con lo stesso nome della funzione?

Altra cosa...ma in quel ciclo for ci entri?

Usa i punti di interruzione e vedi che ne esce fuori dalla funzione.