Why does Python implement cyclic GC on types that reference non-container types Checking docs: Supporting Cyclic Garbage Collection