Suppose at the start of the application 1 Gb of memory was required. OS highlighted. After some time, consumption dropped to an average of 100 Mb and remained so in the future.
As far as I understand, unused 900 Mb will remain unused and not returned to the OS?
Answer # 1
if you selected and then did not release, then of course it will hang until the end of the program, but nothing prevents to allocate 1100, write results to 100 and free 1000
again -if there is only one such application in the system, and let yourself eat this gigabyte, it's not very scary :)