You should test which task(/s) make the hibernate take such a long time.
Does hibernate with minimum tasks running work?
If the answer is Yes - just follow the "elimination" method.
Next step is to redo the same test with a selected important tasks that you want open, and see if any of them is/are the culprit(s). You may have more then one process that may be causing you problems.