The first time WebRequest.Create is called an IOException with a message of "The specified registry key does not exist." is raised and eaten within System.Net.HybridWebProxyFinder.InitializeFallbackSettings(). This exception only occurs if the LegacyWPADSupport key is missing in HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework (or HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework).
The code in InitializeFallbackSettings should be changed to not raise this exception. Instead of calling RegistryKey.GetValueKind without checking for the key's existence, it should call RegistryKey.GetValue, pass in a default of 0, and check whether the returned value is an int.
There are a lot more details about this bug at http://stackoverflow.com/questions/13141434/httpclient-request-throws-ioexception. It may have been introduced in security update: http://support.microsoft.com/kb/2745030.