I am working on a system in SharePoint 2010 where we have many (>40) custom content types, all derived from Document Set. The system also has some strictly defined user roles, so we have set up our own custom permission level definitions. Now I'm seeing some strange behavior where for a few of the content types, I'm getting an "Access Denied" error at the point where the form is generated for entering the metadata for a new document set folder.
To try and make this more clear, here's the procedure: I log in with an account that has Add Items and Edit Items permissions (should be enough to create a new doc set). I follow the procedure of the system to create a new folder. This involves selecting the content type from a list box, and pressing a "Create Folder" button (we are not using the Ribbon). The "Create Folder" button basically opens the default NewDocSet.aspx page, passing the content type ID of the selected content type. For the vast majority of the content types, the correct new item form is generated, and I am able to enter information for the fields and press "OK" to create the document set. However, for a few of the content types, before the new item form is displayed, I get an "Access Denied" error.
This problem was occurring in a couple test environments. In one of them, I logged in using an account that has Site Admin privileges. I went through the procedure again, and all the forms generated correctly. Then I logged out and logged back in using the user account that was experiencing the problems. Then, when I went through the procedure again, the forms that were previously giving the error generated successfully. It's as though they needed to be generated once by someone with the correct privileges, and then they were available.
So my question is -- what's going on behind the scenes when a new item form is generated that requires special privileges (or at least, higher privileges than the account I was using, which should have enough privileges to create a new document set)? And more than that, why would I encounter this error for only a few of my content types, and not all of them?