i noticed a few time total time on my watch were shorter than the race results. I started my watch when I crossed the start and tended to turn it off after I crossed the finished line. I would expect longer time on my watch than the contrary. The latest marathon, my time in my watch was 8 minutes shorter than the race result. I didn’t stop or paused my watch. What could be the reasons?
I'm not sure what races you ran so this is just a guess, but sometimes races, especially the smaller ones, are based on gun time and not starting line time. I just did a 10k that used the gun time method. Basically the only "line" the race officials are monitoring is the finish line.
As what totalEnigma said, most running event usually give two kind of timing, gun time and chip time. The timing you track which you start once you cross the starting mate and stopped once you cross the finishing mate is called chip time, and whereas most event will post their official time based on gun time which means when they start the race, but it doesn't mean that you have cross the staring line especially when you join a big event with lots of people running.
Did you have automatic pause enabled? If you slowed down at water stations then it might have paused itself at some spots. I disable automatic pausing during races.