Memory management in Python: Interning & Optimization