title: iOS: unreleased dispatch queue
body: <p>So for downloading and displaying an image I used to do something like:</p>
  
  <pre><code>dispatch_async(dispatch_queue_create("bgQ", 0), ^{
      // download image
      dispatch_async(dispatch_get_main_queue(), ^{
          // display iamge
      });
  });
  </code></pre>
  
  <p>But I realized that this way I'm not releasing the dispatch queue.
  So the question is, <strong>do we need to declare the queue separately so that we can release it later</strong> or can we release the queue somehow in the first example?</p>
  
  <p>Do we need to do it like this?:</p>
  
  <pre><code>dispatch_queue_t bgQ = dispatch_queue_create("bgQ", 0);
  
  dispatch_async(bgQ, ^{
      // download image
      dispatch_async(dispatch_get_main_queue(), ^{
          // display iamge
      });
  });
  
  dispatch_release(bgQ);
  </code></pre>