This is because the method has a yield mechanic based on elapsed time that can make it return prematurely:
https://github.com/mongodb/mongo/blob/r3.7.3/src/mongo/db/s/migration_chunk_cloner_source_legacy.cpp#L481