Python dùng hai kỹ thuật dọn rác. Thứ nhất: reference counting, tác động đến tất cả object nhưng không dọn được object tham chiếu trực tiếp/gián tiếp lẫn nhau (reference cycles). Đó là lúc garbage collector (gc module) xuất hiện: tìm cyclic references trong object nó biết. Chỉ object có thể tham gia reference cycle mới tham gia cyclic gc. Ví dụ: list tham gia, string không (string không tham chiếu object khác).
Tất cả Python class và instance tự động được cyclic gc theo dõi. Type định nghĩa trong C không, trừ khi nỗ lực tích hợp. Tất cả builtin type có thể trong cycle đều tham gia. Nhưng gc module chỉ biết các type "hợp tác".
Ngoài cơ chế collection, Python có memory allocator riêng (obmalloc), cấp phát arena bộ nhớ lớn và dùng cho hầu hết object nhỏ. Python giờ giải phóng arena khi hoàn toàn rỗng (trước không), nhưng làm rỗng arena hiếm: vì object Python không di chuyển được (non-movable), không thể dời stragglers sang arena khác.