title: Why is ARC complaining about dispatch_queue_create and dispatch_release in iOS 6?
body: <p>I declared a property to reference a GCD queue:</p>
  
  <pre><code>@property (assign) dispatch_queue_t backgroundQueue;
  </code></pre>
  
  <p>In the init method of a class I create a serial queue:</p>
  
  <pre><code>backgroundQueue = dispatch_queue_create("com.company.app", DISPATCH_QUEUE_SERIAL);
  </code></pre>
  
  <p>ARC complains: "Assigning retained object to unsafe_unretained variable; object will be released after assignment"</p>
  
  <p>Must I use __bridge_transfer?</p>
  
  <p>In -dealloc I am releasing the queue:</p>
  
  <pre><code>dispatch_release(backgroundQueue);
  </code></pre>
  
  <p>Again, ARC complains: "ARC forbids explicit message send of 'release'"</p>
  
  <p>I find this confusing because this is a C function call and thought queues are C objects for which I must take care of memory management myself! Since when does ARC handle the C-objects for me?</p>