There is no such ratio.
Usually, Comments should only be there in situations where something might be genuinely unclear, like
// Do not Dispose!
SPSite site = properties.Feature.Parent as SPSite;
On the other hand, if you are selling Code to someone, it will need as many comments as possible. Imaging selling a 3D Engine or some other Games Middleware that has no comments. Sure, API-Documentation etc. are a big part of such Middleware as well, but good commented code pays off as well. Stuff like "Add 1 to i" is still too spammy, but something like "CreateDevice() will first check if DirectX 10 is available and fall back to the DirectX 9 device if not", can be really helpful, even if it's trivial to see from the code.
Generally, Internal Code is usually a lot less commented than code you sell, but exceptions may apply.