Когда вы создаете копию существующего объекта через mutableCopy
, вы несете ответственность за ее освобождение (при условии, что вы также сохраните ее в методе setModules):
[self setModules:[[[aDictionary objectForKey:KEY_MODULES] mutableCopy] autorelease]];
Проверьте также, что вы используете modules
iVar в методе dealloc вашего класса.