First of all forget about the line that says "true free heap": It is build on some internals, and you will not need it.
You should look at "xxx unfreed blocks" or similar.
If it is zero, then you are good. Otherwise it tells you how much memory you lost in how many blocks of allocation. E.g if you created an object, but never destroyed it.
For each of them you get a location where the memory was allocated.
There is a package "LeakView" which you can install. It takes the output and helps you browse the files in the IDE.
It is still tricky to find what is going on.
If you leaked a TStringList, that did hold 10 strings, then you did also leak those 10 strings.
Yet looking at the code that assigns the string, does not help you closing the leak. In cases like this, you have to find out about the encapsulating object (The stringlist). But that may again have been hold by another object, that did never get destroyed (but would on destruction have released the list...)... And so on.