Так как канал quit не обладает буфером, то отправка сообщения в него блокируется. Если при инициализации задать размер буфера хотя бы 1, то в логе появится сообщение "<- quit".
Для ответа на вопрос нужна дополнительная информация: как именно было установлено, что "потоки (goroutines) сами по себе перестают выполняться" и "работает только половина потоков, если даже создать только два" ?