Pasale el depurador, paso a paso... es que sino va ser complicado pillar el error.
Ese error suele darlo cuando se intenta guardar un dato de tistinto tipo en el una variable o se le asigna una acción con un valor null o sin "inflar" la variable. Pon el depurador paso a paso y mira donde rompe. Dimos en que linea rompe y a ver si lo pillamos.