This is a talk that Dave Cheney gave recently at Golang UK Conference.
A couple of important points he says
(11:30 mins) Because memory profiling is sample based and it tracks allocations(stack allocations are not tracked) and not use. He also says memory profiling is not the best way to check if your application is using too much memory.
(17:46 mins) /debug/pprof - He shows how to really get the memory usage at 19:00 mins. Maybe this would be helpful for us.