both are used to clear the resources after its use is over
but dispose method is called by .net itself
whereas in some cases we want to customise resource clearing operation in that case we can call finalize method