it might not be "Leaking" memory, and be more "Hoarding" it. Memory isn't Leaked until the application cannot release it. e.g. after it's pointer is lost.
Memory is claimed when an object is created and freed when the object is destroyed (or lost if the object overwritten with a new object). A leak is when the memory is never freed (After the application has been closed).
It may be a case of an object not being freed during the applications run, but if the object is added to a list or array of objects then the list/array just keeps growing (instead of overwriting), If the objects are owned by the application they automatically free when the application closes, but not until the application closes, FastMM has nothing to report since no memory has been leaked (it has all been free'd when the app closed)
A Memory profiler can show the number of each object currently in memory as well the Objects class (we also use AQ Time which does this). You'll need to look at the memory profile after an hour/2 hours /3 hours. Most long running apps (all that I know of) have a fairly constant (long term) memory requirement, and each of the objects in memory also remain fairly constant. Obviously there will probably be spikes when the app is busy but these should return back to a stable level. Have a look to see if any of the object counts are growing continuosly.
My bet is that the app is dynamically creating something with either a form or Application as it's parent, adding it at the end of a list, and not freeing it. The object sits in memory until the app is closed, but each new object requires more memory.