Delegación de NSURLConnection y threading - iPhone

Tengo una clase que actualiza dos archivos .plist en el directorio de documentos de la aplicación a través de un NSURLConnection. La clase actúa como su propio delegado para NSURLConnection. Funciona correctamente cuando pido un solo archivo, pero falla cuando intento actualizar dos archivos. ¿Parece que debería comenzar un nuevo hilo para cada uno de los mensajes de getNewDatabase?

- (void)getAllNewDatabases {
    [self performSelectorOnMainThread:@selector(getNewDatabase:) withObject:@"file1" waitUntilDone:YES];
    [self performSelectorOnMainThread:@selector(getNewDatabase:) withObject:@"file2" waitUntilDone:YES];
}

- (BOOL)getNewDatabase:(NSString *)dbName
{
    NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
    NSMutableString *apiString = [[NSMutableString alloc] initWithString:kAPIHost];
    [apiString appendFormat:@"/%@.plist",dbName];
    NSURLRequest *myRequest = [NSURLRequest requestWithURL:[NSURL URLWithString:apiString] cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:60.0];
    NSURLConnection *myConnection = [[NSURLConnection alloc] initWithRequest:myRequest delegate:self];
    [apiString release];
    if( myConnection )
    {
        //omitted for clarity here
    }
    [pool release];
}
//NSURLConnection delegate methods here ...

Respuestas a la pregunta(2)

Su respuesta a la pregunta