I am using G4Timer in my application to collect timing information for every run, to use in performance evaluation. At begin-run, I call cpuTimer->Start() to initialize the timer, and at end-run I call cpuTimer->Stop(), then extract the three quantities of interest, cpuTimer->GetRealElapsed(), cpuTimer->GetUserElapsed(), cpuTimer->GetSystemElapsed(). The CPU times come out correct, but the elapsed (wall clock) time is wrong. Every job, no matter how long or short, returns 1.52524e+09.
The implementation of G4Timer has been recently reviewed to and migrated for real (wall) time to use std::chrono::high_precision_clock from C++11. It should work correctly now also on MacOS. Please, try it out in one of the recent reference tags.