In the first case, you track only direct distributions, because the Leakage template sets up the Distributions tool this way. Secondly, you track both direct and freed distributions. (As CocoaFu said).
Both are useful, but for several reasons.
Only direct distribution tracking (combined with Heapshot analysis, as a rule) is a great way to analyze the constant heap growth in your application. Once you know what sticks out forever, you can understand why and see if there are ways to optimize it.
Tracking all distributions, living and dead, is a very effective means of tracking bandwidth. You can sort by common bytes and start with the largest #. Look at all the selection points (click the small arrow next to the label in the category of the selected row) and see where all the distributions come from.
For example, your graph shows that during this period there are 1.27 MB of 14 byte allocations - 9218 distributions. Everyone was free () d [good!], But it still represents a ton of work to distribute, populate the data (presumably), and free each one. This may be a problem, maybe not.
(To put it in perspective, I used this method to optimize the application. By simply focusing on reducing # transient short circuits, I was able to make the primary application algorithms faster and reduce memory usage by 85% faster. It turned out that the application copies lines a lot , many times.)
Not sure why your app crashed as you described. Since this is a warning about memory, you should see what most stands out.
Keep in mind that if you have zombie detection enabled, it takes up a lot of extra memory.