Я бы сказал, что это отличный способ справиться с этой проблемой. Единственное, что я хотел бы добавить, это то, что, хотя я не знаю, что такое объект Job и как он создается, вы также можете разгрузить его. Вместо создания объекта и его сериализации в базу данных, просто сохраните необработанные данные в SQL. Позвольте Сервисам самим строить объект Job с нуля. Таким образом вы вырезаете сериализацию из микса. Однако, если это невозможно, я бы сказал, что ваше решение представляется наиболее жизнеспособным.
Если вы пойдете по этому пути, вы можете посмотреть на оптимизацию разгрузки вашего Сервиса. Например, вы можете разбудить дополнительные службы, когда нагрузка будет загружена, а затем перевести некоторые в спящий режим, когда нагрузка уменьшится.