String.Format("{0:0.00}", foo.ToString("F2"));
won't work, because you're trying to format something, that is converted to string already. Use a direct variable - your foo should return a numeric value and then you'd be able to use it like this (example):
String.Format("{0:0.00}", foo.GetDouble("F2"));
In other words:
String.Format("{0:0.00}", "1.10"); //wrong
String.Format("{0:0.00}", 1.10d); //correct