If I understand correctly the .net runtime will always clean up after me. So if I create new objects and I stop referencing them in my code, the runtime will clean up those
Some objects might need to clean up low-level items. Such as hardware that needs to be closed, etc.