Одна строка в Python может держать гигабайт в памяти

Переменная весит копейки, а объект за ней живёт, пока на него есть хоть одна ссылка. Держать могут не только присваивания: замыкание захватывает объект из внешней области, генератор тянет его через всю итерацию. Лечится не размером строки, а разрывом лишних связей: del на ненужную ссылку, аккуратность с closure, генераторы вместо полных списков и tracemalloc, чтобы найти, кто именно держит память.