How to analyze memory allocations in Go