Исправление в комментарии выше не привело к тому, что его все-таки исправили, и он все еще падал в случайные моменты времени почти без отладочной информации.
С отладчиком, подключенным к моему iPhone, эмулятор выдал ошибку, и я увидел ссылку на объект NSURLCache. Затем я вспомнил, что у меня остался какой-то старый код от попытки исправить утечку памяти в объекте NSURLConnection ...
NSURLCache *sharedCache = [[NSURLCache alloc] initWithMemoryCapacity:0 diskCapacity:0 diskPath:nil];
[NSURLCache setSharedURLCache:sharedCache];
[sharedCache release];
а также в другом классе у меня было ...
[[NSURLCache sharedURLCache] setMemoryCapacity:0];
[[NSURLCache sharedURLCache] setDiskCapacity:0];
Устранение этих проблем решило проблему, а также объяснило мне, почему так трудно отследить. Это выглядит для меня как ошибка где-то в коде Apple, так как это было очень трудно отследить почти без сообщений об ошибках.
Надеюсь, это поможет кому-то еще.