I dont think, that the sigsegv during the heaptrc win has anything to do with your code.
Heaptrc runs when all else is done. Your app has finished, and returned all the mem it ever used (or if not, in case of a leak, your app has exited any code that could do so...
The only code still running is from the system unit and the mem-manager.
When that window pops up, heaptrc has finished its report on your mem.
That window is somewhere in the LCL (its an addition to heaptrc), and uses the most basic access to the windows API. (and maybe those calls are buggy)
If you build your app with console -WC, then the leaks will be printed there.
There is also an environment app that allows the report to go to a file.
--------
If you are concerned about your app causing errors:
-Compiles with all the whistles enabled. A few are -CRiot -gt
the -gt can be varied with 1 to 4 t. -gt -gtt -gttt -gtttt
Each of them does a diff test, so test your app with all 4 of them.
Heaptrc also has a "keepreleased" option (via environment / google / search forum/wiki). This can help finding mem access violations.
If you need the ultimate check, you will need to test on Linux. There is a tool called valgrind, and it can check for a lot of issues.