title: Why Cancel All Operation do not remove all operations?
body: <pre><code>[oqlMyOperationQueue cancelAllOperations];
  
  PO([oqlMyOperationQueue operations]);
  </code></pre>
  
  <p>I still see a bunch of operations there.</p>
  
  <pre><code>2013-05-06 16:05:38.559  [oqlMyOperationQueue operations]: (
      "&lt;NSBlockOperation: 0x20222730&gt;",
      "&lt;NSBlockOperation: 0x2041f7a0&gt;",
      "&lt;NSBlockOperation: 0x20450830&gt;",
      "&lt;NSBlockOperation: 0x20417bf0&gt;",
      "&lt;NSBlockOperation: 0x2006d510&gt;",
      "&lt;NSBlockOperation: 0x2000d150&gt;",
      "&lt;NSBlockOperation: 0x20379810&gt;",
      "&lt;NSBlockOperation: 0x2021f8f0&gt;",
      "&lt;NSBlockOperation: 0x2045dca0&gt;",
      "&lt;NSBlockOperation: 0x2024c670&gt;",
      "&lt;NSBlockOperation: 0x2041b8e0&gt;",
      "&lt;NSBlockOperation: 0x203d54a0&gt;",
      "&lt;NSBlockOperation: 0x20442c80&gt;",
      "&lt;NSBlockOperation: 0x20452930&gt;",
      "&lt;NSBlockOperation: 0x20363af0&gt;"
  )
  </code></pre>
  
  <p>But I've canceled all operations. So what's the problem?</p>
  
  <p>Okay I know that one operation will remain on the queue if it's already executing. But why so many are left? The queue is serial.</p>