Das ist ja nur eine Minianwendung wo es recht übersichtlich ist. Wie kann man denn ganz sicher die Objekte freigeben und falls jemand anderes (vielleicht ein parallel laufender Thread) diese auf Gültigkeit abfragt auch wirklich feststellen, dass man noch drauf zu greifen kann?!
Geht nicht. Musst du anders lösen, z.B. über ein Observer-Pattern.
Und Multi-Thread ist noch mal eine Sache für sich...