Когда применяешь их ради применения, а не ради решения проблемы. AbstractSingletonProxyFactoryBean в Go выглядит смешно. Если паттерн добавляет сложность, но не решает реальную проблему — не используй. Go поощряет простоту: если хватает функции, не городи интерфейс.