This is not an exhaustive answer, but an application with full ASP.net trust will throw a SecurityException if NTFS permissions on the files that make up the web application do not allow access to the set of identifiers against the application pool, in which the web application works at the bottom. You get a very confusing exception, similar to the fact that the application does not have full trust, even if it is. You simply cannot guarantee that a security exception will never be thrown because it depends on the environment and not on the code you can write. for example the same code on two different servers, you can throw a SecurityException, but the other cannot.
source share