It is used for localization. You can find same pattern in Orchard CMS as well.
NOP Commerce stores resources (key value pairs) used for localization in database. While accessing, it does cache them and uses their engine to access these resources.
@T is just a method to access to resources while using differnt langs in the app.
in order to remove the error i mentioned we neet to use Convert.ToString(T("whatever")).ToUpper() and it will not throw that error again