The official language reference[1] covers this, provides the most recent information and is undoubtedly correct.
Why would I use this instead? In fact looking at the description of `__del__` there is some very crucial information missing regarding access to globals and circular references.