Hello Marlon,
You are not releasing memory, you are forcing your process to move some of it's memory used to the windows swap file, but your process will still allocate the same memory as before.
to be sure of that, in task manager, add column "peak working set" next to "memory" column, after executing TGarbageCollector.Execute, the peak memory will remain that same, which is what your process memory, the memory tab only show the current memory using in Ram of your process, but not what your process allocated in memory.
docjones, also is right, you are forcing more I/O which will lead to slower performance, but not optimizing the memory.
Regards,
Mohammed