As people have said, these time values are to be expected. All they reflect is the time difference spent in reduce waiting for the slowest process to catch up to everyone else. The barrier removes that factor by forcing all processes to start from the same place.

No mystery here - just a reflection of the fact that your processes arrive at the MPI_Reduce calls at different times.