Prova a togliere l'ultima istruzione
settings.wriite(me)
nel tuo codice
Con Settings.Read(Me) leggi le misure della form e con Settings.Write(Me) le scrivi.
L'ho inserito per farti comprendere che solo se scrivo i dati in settings questi si salvano, a differenza di Clarabella.
Se togli Settings.Write(Me) succede che non memorizzi i cambiamenti delle dimensioni della finestra, ma mi fa anche capire che non hai provato il mio codice.
Per comprendere il codice da me postato devi cambiare la dimensione della finestra, chiudere e riaprire.
Circa _free con un settings ereditato ti serve o è solo una curiosità?
Perché sembra che tutto nasca da un malinteso quello che settings salvi di default.
Se il file di settings si corrompe non sarà certo _free a dirtelo, se manca la luce non esiste codice che salvi quello che stai facendo al momento.
Per sapere se è mancata la luce o comunque il programma è crashato ti basta un booleano che porti a True all'apertura salvandolo in settings e poi alla chiusura lo riporti a false.
All'apertura lo leggi e se è rimasto a true prendi i provvedimenti del caso.
Oppure non ho capito di cosa stiamo parlando, il che è possibilissimo.
In quest'ultimo caso se vuoi aiutare/ti alleghi una piccola applicazione che esemplifichi il tutto.