A: 

Well I think that in deed my data Callback wont be called if the main thread is busy or blocked, so what I did was to leave the Callback method on the main thread and put my send method in another thread, it worked pretty well actually, however I'm still wandering if there would be another way, but for now it does what I need so I'm going to stick to it.

Vic