Fala galera, já havia usado o jvisualvm da própria JDK que no final das contas é profile do netbeans…
Realmente Kico, estava observando e hoje dei uma olhada nos escopos… Um dos projetos estava abusando do Prototype, o outro estava o padrão, que creio eu, seja Singleton…
O que estava com Prototype na camada de serviços, sempŕe na execução do GC, cai pra 18 Mb e depois vai detonando pra 50 de novo, já o que usa singleton, fica fixo nos 50 e quando GC passa, cai no máximo pra 39 Mb. Ambos possuem Scheduler que executam Threads de 2 - 5 segundos.
Fiz uma varredura no Projeto agora pela tarde, mudando escopo de objetos, detonando algumas Strings que estavam sobrando e eliminando sujeira… Caiu uma média de uns 3 mb, mas ainda assim será um problema no futuro.
Quanto ao Hibernate, o cache de segundo nível estava implantado antes de eu chegar no projeto. Mas o Hibernate é o provider da JPA no nosso caso. Como eu nunca configurei o Hibernate e nunca tinha precisado desse ajuste fino, acabou que nunca conheci a fundo a estratégia de cache, vou dar uma estudada e ver o que eu consigo com isso.
Outro detalhe é que acesso 2 BDs, um Firebird (ou qualquer outro dependendo do cliente) e um Postgre (esse é fixo porque é interno do nosso negócio).
Como precisarei de acesso a vários bancos de acordo com cada cliente, usei JDBC no lugar da JPA para acesso aos mais variados bancos de dados com seus próprios campos e suas próprias regras. Aproveitei então o Spring JDBC (por já estar usando Spring) e confesso que não estudei a fundo o mesmo, sendo que vou tomar vergonha na cara e ver o que consigo também dando uma olhada na doc do Spring JDBC com calma.
Andre, já havíamos feito esse tunning a nível de base, valeu por lembrar.
No mais é isso aí galera, valeu pelos toques… Se lembrarem de mais alguma coisa que ajude a tunnar a App, agradeço… Quero tunnar a JVM como último recurso, mas não está fora de cogitação 
Abs []