Please regard distinct issues as distinct. Yes, opened.close() is the right thing to do as far as opening and closing files goes.
I think the del pygame.imageext exception is an accident, since actually, pygame should catch AtrributeError there. As for the PermissionError; are you sure you didn't have the file open in another program? Focus on that part, since the rest is happening accidentally. cheers! mar77i