It uses UTC for pretty much everything because transferring the persisted data of the world saves between servers in different time-zones would cause havoc when deserializing. Not only that, but using DateTime.UTCNow is more efficient because it doesn't have to apply an offset every time it is called by code.
Local date is usually only used when the value isn't persisted or doesn't rely on a mechanic and its sole purpose is for displaying to the user - like when creating log files with time stamps, or an in-game interface that would display server local time for any reason. (So, very rarely)