I had some fun times debugging this issue today. There was an IIS virtual directory setup in the SharePoint web applications site with the same name as one of the variations in the site. In our example, we have a variations site for japan at http://www.patrickzaw.com/jp. There was a need to redirect a url (http://www.patrickzaw.com/jp/products) that didn’t exist within the Sharepoint site structure to another subsite that does exist (http://www.patrickzaw.com/jp/sites/productline). The solution put in place was virtual directory created in the same web application for /jp and then under that another one for /products which was setup as a redirection to the existing subsite.
Upon setting this up everything will work as expected until an app pool recylce, or IIS reset. When the app pool recycles the entire site will throw an unspecified exception.
It appears only to affect virtual directories with the same name as the variations site, but does not effect subsites with the same name.
Our resolution was to delete the virtual directories, restart IIS, and use SharePoint redirect pages instead. This did force us to create a subsite for /products that only had one redirect page. Please chime in if you have some better ideas of how to implement this.