There are certain object model calls model that require site-administration privileges. To bypass access- denied error, we use RunWithElevatedPrivileges property when request is initiated by a nonprivileged user. We can successfully make calls into the object model by calling the RunWithElevatedPrivileges method provided by the SPSecurity class.
It's executes the specified method with Full Control rights even if the user does not otherwise have Full Control.
A delegate method that is to run with elevated rights. This method runs under the Application Pool identity, which has site collection administrator privileges on all site collections hosted by that application pool.
// implementation details omitted