Python выделяет память для объектов, созданных при обращении к новым переменным, если они не существуют.
В вашем случае выделение памяти будет происходить один раз на первой итерации, а затем оно будет продолжать ссылаться на тот же объект на каждой итерации, поэтому он не будет выделять всю имеющуюся у вас память.