TComponent destructor frees wrong observer list
The destructor of TComponent frees an observer list that does not belong to it, instead it frees the one inherited from TPersistent:
https://gitlab.com/freepascal.org/fpc/source/-/blob/64018f18b4184ace3e60b014315b312141afdb39/rtl/objpas/classes/compon.inc#L515
This breaks the ooFree part of the IFPObserved/IFPObserver interface completely. Looks like this a typo from back when Delphi-compatible observers were introduced in 594090b21. Should be `FreeAndNil(FDObservers)` (with a `D`).
(Apoplogies for not using an issue template, the Gitlab editor doesn't really load right now and I'm typing most of this blind.)
issue