Garbage collector in Go is optional. You can switch off garbage collection by setting the environment variable GOGC=off.
More info about GOGC: https://dave.cheney.net/tag/gogc
More info about GOGC: https://dave.cheney.net/tag/gogc
You might think "I'll just use static buffers everywhere", but allocations can occur in unexpected places. The compiler does some very basic lifetime analysis to eliminate some obvious cases (loops...), but it's really hard to avoid in general.
EDIT: Sorry, I misunderstood part of your question. The memory grows unbounded unless you call runtime.GC() which triggers garbage collection. But this is a blocking call and essentially block your whole program.
Probably a better argument for Go (and other languages like Java) is how "tweakable" the GC is or at least describe it as the GC can be turned off, but it's not designed or useful to do so.