I have a GenerateGeodatabaseJob to sync my local geodb with a feature service. It works fine apart from an issue with regards to progress which is reported via ProgressChanged event.
I've done this ~100 times by now and in all instances the progress took 60-90 seconds to move from 0 to ~20%, and then an instant to move to 100%. The actual data delta (between the offline and online dbs) is very small in my case so if the job is somehow estimating time to send data back and forth, that could explain it.