Welcome to the JavaRanch, Amir!
Unfortunately, I think that Hibernate is what's eating a lot of your PermGen space. I have found the combination of JSF+Hibernate to be especially hungry.
Fortunately, my ISP allows me to configure my
Tomcat server any way I want, so I bumped up a few parameters. From what I've seen, there's a fixed overhead that's fairly close to the Tomcat default PermGen size, and so I don't have to add much.
It would cost me a lot more to have to re-architect my webapps to not use ORM - to say nothing of the maintenance cost issues. Lower cost of maintenance is, after all, one of the primary reasons for using an ORM to begin with. That and tunability. So I just grit my teeth and trust that the Hibernate people will tune it to be PermGen-friendly as time goes by.