Вы несете ответственность за освобождение представлений с момента их создания. Вот как это происходит:
Вы создаете представления с счетом сохранения 1.
Когда они будут добавлены в массив, он сохранит их (оставьте количество = 2).
Когда вы освобождаете массив, он освобождает представления (оставьте количество = 1).
Вам все еще нужно отпустить их.
Правильный код будет:
NSMutableArray *array = [[NSMutableArray alloc] init];
UIView *tempview = [[UIView alloc] initWithFrame:CGRectMake(15, 30, 320, 460)];
[array addObject:tempView];
[tempview release];
UIView *tempview2 = [[UIView alloc] initWithFrame:CGRectMake(15, 30, 320, 460)];
[array addObject:tempView2];
[tempview2 release];
[array release];