Fields which have a critical type cannot be used from transparent code, and should therefore be marked security critical. ...

Fields which have a critical type cannot be used from transparent code, and should therefore be marked security critical.  This makes it obvious to the users of the field that they must also be critical.  Additionally, such fields frequently store sensitive information such as a handle value.