Этот график не выглядит так, как будто ваше использование памяти «продолжает увеличиваться». Скорее это выглядит довольно плоским. Если бы у вас была значительная утечка памяти, график вместо этого увеличился бы.
Процесс Python должен получить память от операционной системы, а затем использовать эту память для хранения ваших объектов Python. Когда объекты Python собираются мусором, память, занимаемая этими объектами, становится свободной для процесса Python , потому что там могут храниться новые объекты. Но для операционной системы эта память все еще принадлежит процессу Python, поэтому она используется. Я полагаю, ваш график показывает использование памяти этим процессом Python.
Память, полученная от операционной системы, запрашивается гораздо большими кусками, чем необходимо для одного объекта Python. И это должно было бы быть возвращено в кусках лагера также. Когда объекты Python распределяются, а затем собираются мусором, оставшиеся живые объекты распределяются по огромному фрагменту памяти. Если бы процесс Python хотел освободить память обратно в операционную систему, ему пришлось бы переместить все объекты в компактную область, чтобы огромная непрерывная область стала свободной. Процессу проще и быстрее просто удерживать память и использовать ее по мере необходимости.