Das Problem ist wahrscheinlich, dass beim Beenden auf ein Objekt zugegriffen wird, welches schon freigegeben wurde. Wobei es dabei etwas verwunderlich ist, dass es nur sporadisch auftritt. Somit wird das Programm in verschiedenen Zuständen beendet.
Ja möglicherweise. Vielleicht wurde auch ein Datensatz noch nicht gespeichert oder so. Ich bin noch am Entwickeln und habe solche Fälle, wo noch nicht abgespeichert wurde, noch nicht bedacht.