thread-mainloop: Release once_unlocked_data object after callback
Running tests with memory checker reports a leak of once_unlocked_data
object. That object is only needed needed to call user callback once and can be released after callback is done.