Check Managed Wrappers to Unmanaged Code for Correctness
If you call into unmanaged code and many people do for the flexibility you must make sure the code calling into the unmanaged is well-written and safe. If you use SuppressUnmanagedCodeSecurityAttribute, which allows managed code to call into unmanaged code without a stack-walk, ask yourself why it's safe to not require public callers to have permission to access unmanaged code.