InterprocessConnection thread choice

When making an InterprocessConnection, you have the choice of callbacks on the message thread or the IPC thread. What advantages does either one have over the other? I thought at first it would be simpler to have the callbacks synchronous so I didn’t have to worry about dangling pointers on the message loop, but then I ended up asking a thread to kill itself. So… opinions?