A: 

gobject.threads_init() does not magically put your things into separate threads. It only tells the library that you're going to use threads, and sets up some locking. You'll still have to create the threads yourself.

Matti Virkkunen
I don't suppose you could provide an example? I've tried making HBHTray() threaded with no results already.
Stealth-
Nevermind, turns out my problem was deeper than that and unrelated.
Stealth-
A: 

Turns out the problem was that I couldn't find a working solution because I was utilizing the Thread module the wrong way and calling run() directly when I should have been calling start(). Because of that, I was thinking that nothing I did worked (especially with no error or complaint from anything) and figured it was a problem relating to how I was wrapping gtk.main()

Stealth-