The observe_on will cause the subscriber to execute in a new thread. However, the source will execute in the thread publish_to_topic was called on. If this is the main thread the publish_to_topic will block the main thread. The subscribe_on will ensure that both the source and the subscriber will execute in a new thread and thus not cause the publish_to_topic to block.
The following operators: publish_to_topic and send_transform should use subscribe_on rather than observe_on:
The observe_on will cause the subscriber to execute in a new thread. However, the source will execute in the thread publish_to_topic was called on. If this is the main thread the publish_to_topic will block the main thread. The subscribe_on will ensure that both the source and the subscriber will execute in a new thread and thus not cause the publish_to_topic to block.