That method is correct and returns what it should and does not need to check that commented out web.config setting UseCultureOverride, that is only checked in CultureHelperHttpModule.cs
If no site specific culture is configured then it returns the default en-US
You should not modify the globalization element in Web.config, doing that can cause problems such as null reference exceptions if there are misisng keys in the Persian resource files, you should leave it as en-US in Web.config so it can always fall back to English if there are missing keys in your language resource files, English is the only one guaranteed to not have any misisng keys. Also we cannot read that globalization element from Web.config from code when running in medium trust so to be able to lookup the default culture is better to use user.config
You should force culture in user.config as specified in the article Forcing a Specific Language. That article also explains the difference between culture which is used for formatting numbers and dates ns UICulture which is used to choose the resource files.
Hope that helps,
Joe