Dispose method uses an interface as IDisposable interface and it will free up all managed and unmanaged codes like database connection, files etc. Dispose of the method which is called explicitly. Finalize, unlike dispose method finalize is called internally. It is called by the garbage collector and cannot be called directly from the code.