В первой строке вы создаете объект с помощью метода init, который делает вас владельцем объекта, поэтому вы должны освободить его. Во второй строке вы используете удобный конструктор, который не делает вас владельцем этого объекта. В этом случае, если вы хотите манипулировать жизненным циклом этого объекта, вы должны отправить другое сообщение, чтобы сохранить его: NSURLConnection * theConnection = [[ NSURLConnection connectionWithRequest: request делегат: self] retain], и количество объектов будет равно 2 ... даже если во второй строке ваш объект автоматически получит сообщение об автоматическом выпуске, число после этого будет равно 1 ... поэтому, если вы сохраните объект, вы должен отпустить ...
Вы спросили: а где мне освободить объект подключения? я думаю, в методе, называемом connectionDidFinishLoading: connection или в методе connection: didFailWithError: