Weil nicht mehr genutzter Speicher nicht geleert wird, sondern nur als frei markiert wird. Das heißt die Daten sind noch da bis das Programm etwas anderes an die Stelle schreibt.
Wenn der Button nun freigegeben wird, aber das Programm bis zum Ende der Ereignisbehandlung den freigewordenen Speicherbereich des gelöschten Buttons nicht überschreibt, kann das Programm noch auf dessen Daten zugreifen und es klappt. Wenn der Speicher aber schon teilweise überschrieben ist, knallt es.
Da das reiner Zufall ist (naja, zumindest wirkt es sich so aus

), passiert es eben mal und mal nicht.