タスクをロードする仕組みが既に存在する場合、二重にロードされる原因となる可能性は確かに考えられます。
次のいずれかを使用することで、この問題に対処できるのではないかと思います(オートロードを一度行うことによる副作用が不明なため、後者の方が良いかもしれません)。
config.autoload_once_paths << File.join(config.root, "lib")
config.autoload_lib(ignore: %w( tasks ))
タスクをロードする仕組みが既に存在する場合、二重にロードされる原因となる可能性は確かに考えられます。
次のいずれかを使用することで、この問題に対処できるのではないかと思います(オートロードを一度行うことによる副作用が不明なため、後者の方が良いかもしれません)。
config.autoload_once_paths << File.join(config.root, "lib")
config.autoload_lib(ignore: %w( tasks ))