Вы не можете напрямую / вручную управлять памятью управляемых объектов, потому что контекст контролирует жизненный цикл объектов для поддержания целостности графа.
Если вы можете обрабатывать импорт в отдельных чанках, сохраняйте контекст после каждого чанка, а затем:
[context refreshObject:theObject mergeChanges:NO]
... который преобразует вновь сохраненные объекты в ошибки, поэтому они занимают очень мало памяти.
Вам нужны только ошибки, чтобы установить отношения, поэтому объекты, обработанные в предыдущем фрагменте, все еще будут доступны для установки в отношениях в текущем фрагменте.
По возможности, я создаю объекты за один проход, сохраняю их, преобразовываю их в ошибки, а затем устанавливаю отношения на следующем проходе. Это не всегда практично, если у вас есть необходимые отношения.
Возможно, вы захотите проверить Руководство по программированию основных данных: Эффективный импорт данных , если вы еще этого не сделали.