Go programs can only inform the operating system that a page in memory is unused, no API exists to demand that the operating system take it back (save unmapping the memory). Operating systems frequently ignore the advice go programs give to it using the madvise(2) syscall, especially when they are not under memory pressure to find pages for other programs. This presence or absence of swap on the system also affects this behaviour.
In short, top is not telling you the whole truth. Dave -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.