Finalize method can be considered as a destructor that executes code just before an object is effectively destroyed, that is when memory should be effectively released. This method is inherited from
System.Object; therefore any class can implement the method taking care of declaring it as
Protected Overrides as follows:
If you need to destroy an object that simply uses memory, do not invoke
Finalize. You need instead to invoke it when your object has a reference to something that Visual Basic cannot understand because the garbage collector does not know how to release that reference, so you need to instruct ...