Где вы храните example_app_window_parent_class? Это происходит от виджета? Как говорит GtkNerd, он может дублировать вещи, если он не связан правильно.
Я не совсем уверен во внутренних органах. Для Gtk2 разрушение - это сигнал GtkObject, а не сигнал GtkWidget, поэтому в этом случае вы должны использовать его как GTK_OBJECT_CLASS, хотя это, скорее всего, не имеет значения - для Gtk3 это нормально, как есть. Я не уверен насчет внутренних компонентов, но сигнал уничтожения может вызываться несколько раз из-за подсчета ссылок. Более безопасный вариант - переопределить finalize, так как он должен вызываться только один раз, независимо от того.