Simplemente a ojo es imposible depurarlo. Debes ir paso a paso y usar el depurador de Delphi! El mismo te dice en que linea ocurren los errores, y podes ir instruccion por instruccion siguiendo la ejecucion.
Yo probaria poner puntos de ruptura en los eventos de los controles, a ver si cuando cierras el form se dispara alguno (por ejemplo algunos de los OnExit) y hace uso de memoria no asignada
|