According to **URL Loading System Programming Guide** `NSConnection` sample code I can release connection in `connectionDidFailWithError` and `connectionDidFinishLoading`. 

However, releasing connection in `connectionDidFinishLoading` causing 

```
objc[19685]: FREED(id): message releaseDelegate sent to freed object=0x3b41630
Program received signal:  “EXC_BAD_INSTRUCTION”.

```

Why?