also mir fällt als erstes auf das du Object instanzierst aber diese nicht frei gibst. Dadurch können auch
AV's auftreten.
Beispiel (trifft bei dir nicht zu verdeutlicht aber das es durch events passieren kann):
Man erstellt einen Timer der alle x millisekunden das OnTimer aufruft.
Dann schließt man das form welches auch frei gegeben wird und der Timer der nicht freigegeben wurde versucht weiterhin das Event aufzurufen was aber fehlschlägt da das Form frei gegeben ist wo die Eventmethode drin steckte.
Bevor solche leichtsinnigen Fehler nicht behoben sind ist es für mich verschenkte Zeit mir den Rest anzuschauen. Mir ist es lieber du opferst erstmal Zeit zum implementieren des Freigebens und für andere grundlegende Dinge.