I tried building your snap locally with snapcraft cleanbuild, and get a different error on startup:
$ bzoing
could't load task list file
new task id = 0
Monitor thread has started
(bzoing-now:30238): Gtk-CRITICAL **: gtk_icon_theme_get_for_screen: assertion 'GDK_IS_SCREEN (screen)' failed
/snap/bzoing/x1/lib/python3.5/site-packages/bzoing/bzoing.py:81: Warning: invalid (NULL) pointer instance
appindicator.IndicatorCategory.APPLICATION_STATUS)
/snap/bzoing/x1/lib/python3.5/site-packages/bzoing/bzoing.py:81: Warning: g_signal_connect_data: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed
appindicator.IndicatorCategory.APPLICATION_STATUS)
(bzoing-now:30238): Gtk-CRITICAL **: gtk_settings_get_for_screen: assertion 'GDK_IS_SCREEN (screen)' failed
/snap/bzoing/x1/lib/python3.5/site-packages/bzoing/bzoing.py:30: Warning: g_object_get_qdata: assertion 'G_IS_OBJECT (object)' failed
Gtk.Menu.__init__(self)
Segmentation fault (core dumped)
This was running the snap on 17.10, so I don’t know if that is a related issue or not. The script did symlink and compile the schemas, so that particular part of the script seems to be functioning correctly.
Looking through the glib NEWS file, I did stumble on this though:
Overview of changes in GLib 2.53.2
==================================
...
* GSettings now consider XDG_DATA_HOME in addition to XDG_DATA_DIRS.
...
However, Ubuntu 16.04 shipped with an older version of GLib. As one of the cleanups in my PR, I removed $XDG_DATA_HOME from $XDG_DATA_DIRS on the basis that the spec said having it there was superfluous. I suspect adding it back will fix the problem you’re seeing, so I’ll put together a followup PR.
I think I missed this when testing apps using the gnome-platform snap because they ship a newer GLib.