The 33% usage is likely not an issue. Now, if you start getting Heap Errors or OutOfMemory errors, I would start being concerned.
The heap usage really depends on how the ADF application was written and configured by your developers. By default, ADF will automatically consume a significant portion of heap because of the Application Module components. Application Modules handle all your ADF app's Model Layer logic, database calls, and data chaching. To take this one step further, if your application is using heavy caching, like Top Link, then even more heap may be used. Overall, it just depends on how many users, how your application was written and configured.
See this for app module tuning: http://docs.oracle.com/cd/E15523_01/web.1111/b31974/bcampool.htm
If heap does start becoming a problem, a JVM profiler is very helpful in identifying if there are application memory leaks, etc.
Yes, this was exactly my point earlier. Application Modules reserve instances, and thus heap, so when new users log onto the system, its ready to start serving requests. Depending on how the app was coded and how much cache it starts up, that could be the reason for the amount of heap usage.
If you do start running out of heap when users start logging on, your developers might want to consider the application module tuning and/or more managed ADF servers to off the load a bit.