Stack vs Heap in Go: How Escape Analysis Really Works