Hai fatto un po' di debugging ? Hai impostato qualche breakpoint per eseguire linea per linea ed individuare la linea e il momento in cui avviene l'errore ?