Итак, я недавно видел некоторый код, который обрабатывает это в логике исключений, код имеет встроенный шаг повтора, который пытается выполнить после задержки. Не удается, ожидает определенное количество времени, затем пытается снова.
По сути, он рекурсивно пытается определенное количество раз (удлиняя задержку каждый раз). Довольно аккуратный, нет причин иметь другую очередь. Существует множество обобщений и делегатов, используемых для выполнения методов. Не знаю, можно ли что-то подобное сделать или нет. Я подозреваю, что вы все равно захотите обработать случай, когда сообщение не может быть доставлено с другой очередью.