<p>Try as I might, I'm unable to resolve an address to IP. The code snippet is shown below. I keep getting the No such host is known exception, even though I could access google with my browser (The DNS server is almost certainly working). I'm however behind company's firewall.</p>

<pre><code>try
{
   foreach (IPAddress address in Dns.GetHostAddresses("www.google.com"))
   {
      Console.WriteLine(address.ToString());
   }
}
catch (SocketException e)
{
   Console.WriteLine("Source : " + e.Source); // System
   Console.WriteLine("Message : " + e.Message); // No such host is known
}
</code></pre>

There is nothing wrong with your code.  Given that you can access www.google.com from a web browser the next most likely problem is that the web browser is using a proxy server.  The web browser is actually accessing www.google.com through the proxy server which is allowed through the firewall.  The simple application you wrote is not allowed through the firewall and is resulting in an exception.
You can verify this by looking at the proxy settings in Internet Explorer.
Tools -> Options -> Connections -> Lan Settings
There will be a proxy server group of settings.  If there is a value present, this is almost certainly your problem.