The Finalize methods are used to perform any necessary final clean-up when the
garbage collector is collecting a class instance. The programmer has no control over when the Finalize method is called; the garbage collector decides
when to call it.
When creating a Finalize method, it should never throw an exception, as there is a high risk of having the application terminated leaving unmanaged
resources without a graceful cleanup.
The rule raises an issue on throw
statements used in a Finalize method.