Действительно, вполне вероятно, что если уже существует механизм загрузки задач, это может привести к их повторной загрузке.
Интересно, поможет ли использование одного из следующих вариантов решить эту проблему (я склоняюсь ко второму, так как не знаю, какие могут быть побочные эффекты от однократной автозагрузки):
config.autoload_once_paths << File.join(config.root, "lib")
config.autoload_lib(ignore: %w( tasks ))