Выкидываю две идеи.Во-первых, если вы выполняете циклы как часть этой работы, убедитесь, что вы не держите ссылки на ненужные объекты, так как это предотвратит их сбор.Если вы сделали, удалите их из вашего массива, или что-то еще.Кроме того, поместите периодический GC.start в свой цикл, чтобы увидеть, не попало ли оно в GC-ing.
Вторая идея заключается в том, что ruby не использует символы GC, поэтому, если ваши клиенты API хранят значения в виде символов, вы можете получить огромный и растущий набор символов, который никогда не будет использоваться повторно.Символы крошечные, но крошечные вещи все еще могут складываться.
И, конечно, не загружайте больше объектов, чем нужно.используйте #find_each для загрузки AR-объектов в пакетном режиме, если вам нужно перебирать их множество.