Take a look at the documentation for that property:
http://msdn.microsoft.com/en-us/library/system.timezone.currenttimezone(v=vs.110).aspx
Local time zone data is cached after CurrentTimeZone is first used to retrieve time zone information. If the system's local time zone subsequently changes, the CurrentTimeZone property does not reflect this change. If you need to handle time zone changes while your application is running, use the TimeZoneInfo class and call its TimeZoneInfo.ClearCachedData method.
TimeZoneInfo local = TimeZoneInfo.Local;
TimeZoneInfo.ClearCachedData();
local = TimeZoneInfo.Local; //updated local time zone info