The issue here is mainly caused by the std::packaged_task internals using the operator=. Declaring both copy and move operators for the Job solved the issue.
std::packaged_task
operator=
Job