Try doing a set trace events 10046 and a SET EVENTS 'immediate trace name global_area level 1';

http://www.psoug.org/reference/trace_tkprof.html

http://www.psoug.org/reference/dump_ora.html

If you are using PL/SQL collections with large datasets in a large number of session you might begin to see overhead from the amount f PGA memory that can get used. But its a trade off between doing for loops and recursing through data or grabbing everything you need at once.

This article might help as well.
http://www.oracle.com/technology/ora.../o38plsql.html