Worth studying
https://tip.golang.org/doc/gc-guideThe heap profile will show you the heap memory in use,
but the OS process info will tell you the total process size, including memory in use,
and memory GC which has been marked as free and reclaimed by the GC, but not relinquished to the OS.
When the GC frees memory, it often does not return it to the OS, but keeps it around because it might be needed soon.
You can only return entire pages to the OS, so the GC often can't return a memory page even if most of it is free,
but a small part of it is still in use.