For connected sessions, this will return the time since the session last received user input.
For disconnected sessions, this will return the length of time that the user has been disconnected from the session.
This will return TimeSpan.Zero if the idle time could not be determined.