Re: #118660 (comment)
This applies to the "precise init" case - not the beforeFieldInit.
The behavior of CoreCLR is that Finalizer does not run if class was not initialized successfully.
Note that we do not need to try initialize the class before running finalizer. That should have been attempted already, since we see an instance.
Also note - whether an instance ctor has run is irrelevant.
In fact, finalizer may start and even finish while the ctor is still running.