Ответ 1
Потому что вы можете использовать gobject в среде без потоковой передачи. Это не редкость. Когда вы используете gobject в потоковой среде, вам нужно явно инициализировать, вызывая gobject.threads_init(). Это также гарантирует, что при вызове функций "C" GIL освобождается.
Также из документа функции:
Функция threads_init() инициализирует использование Python потоки в модуле gobject. Эта функция отличается от gtk.gdk.threads_init() как эта функция также инициализирует gdk потоки.
В принципе, вы четко укажете модулю gobject, что вы собираетесь использовать потоки и инициализировать его соответствующим образом.