Я не знаю внутреннюю часть кода Apple, но я предполагаю, что initWithContents URL NSData использует NSURLConnection для внутреннего использования. Различия в использовании памяти будут незначительными.
Использование асинхронного API NSURLConnection позволит вам более эффективно использовать память, обрабатывая данные по мере их поступления, но (не зная, что вы на самом деле делаете), я думаю, что это довольно агрессивная оптимизация, которую вы должны оставить, пока не начнете работать код.