NSArray сохранит любой объект, который вы добавите к нему, и автоматически освободит его, либо в конце его жизненного цикла, либо после удаления из массива (если он изменчив).
Когда вы выделяете объект, его счетчик хранения равен + 1.
Поэтому, когда вы выделяете объект и добавляете его в массив, его счетчик хранения равен +2.Это означает, что вы должны либо автоматически высвободить объект (что я и сделал бы в вашем случае, поскольку вы размещаете на той же строке, которую вы добавляете), либо освободить его после добавления, если у вас есть ссылка на указатель.В вашем случае у вас нет ссылки, поэтому лучше всего автоматически ее высвобождать.
NSMutableArray *glossTerms=[[NSMutableArray alloc] init];
[glossTerms addObject:[[[NSMutableDictionary alloc]
initWithObjectsAndKeys:@"Approximate",@"term",
@"Test",@"definition",@"Test2",@"example",nil] autorelease]];
[glossTerms addObject:[[[NSMutableDictionary alloc]
initWithObjectsAndKeys:@"Arithmetic Mean",@"term",
@"Test",@"definition",@"Test2",@"example",nil] autorelease]];
termData=[[NSMutableArray alloc] initWithObjects:
glossTerms,nil];
[glossTerms release];
FWIW, статические методы [NSMutableDictionary dictionaryWith ...] автоматически возвращают объект, выпущенный автоматически.