Насколько я вижу здесь и там , вы можете указать, как потоки должны смешиваться с событиями в RoboGuice, используя @Observe (EventThread.CURRENT), @Observe (EventThread.UI) или @Observe (EventThread.BACKGROUND).
По умолчанию установлено значение "CURRENT", что означает, что если вы ничего не указали, метод прослушивания события будет выполняться в том же потоке, что и метод, получающий событие.
Так что да, если вы запускаете ваше событие из фонового потока, do () будет выполняться в фоновом потоке.
Если вы добавите @Background в метод do (), то он всегда будет выполняться в отдельном потоке, отличном от того, в котором вы инициировали событие.
Если вы не уверены, поставьте точку останова и просмотрите имена потоков :-).
Это ответило на ваш вопрос?