Your need to release the connection, not the delegate. The NSURLConnection class I think does not retain the delegate, which is why you get a crash when you try and release it.
The two places to release the connection are connection:DidFinishLoading, and connection:didFailWithError.