How Python Manages Memory