This is a valuable and honest postmortem. The distinction between “cheap” and “free” is critical when it comes to goroutines what works elegantly in tutorials can become a liability under real production load. The shift to a bounded worker pool highlights an important principle: concurrency must be controlled, not just enabled. It’s also a great reminder that load testing isn’t optional for pipeline systems where throughput can spike unpredictably. Thanks for sharing the lesson so clearly these are the kinds of insights that prevent repeat mistakes across teams.