sendPush(), preparesendPush()вы передаете apns.Clientв качестве параметра. Go всегда передает параметры 'copy_by_value', то есть создается и передается копия client при каждом вызове. apns.Client // contains filtered or unexported fields, то есть неизвестно что копируется и насколько оно поддается мусорщику. Попробуйте передавать один и тот же client ссылкой func prepareSendingPush(client *apns.Client), func sendPush(client *apns.Client...вызывая prepareSendingPush(&c) go install github.com/mattn/go-sqlite3' вместо go run , который используют в основном для тестовых сборок при разработке