Dari jejak tumpukan dan contoh kode sepertinya Anda tidak menggunakan kembali tumpukan Cayenne (objek ServerRuntime), malah membuat yang baru setiap kali. Selain lambat, ini juga menyebabkan kebocoran sumber daya. Setiap ServerRuntime memiliki kumpulan koneksinya sendiri yang tidak Anda matikan. Jadi cepat atau lambat server PostreSQL dipenuhi dengan koneksi terbuka.
Solusinya adalah mengubah ServerRuntime menjadi singleton cakupan aplikasi (misalnya, menjadikannya var statis dari AccountsDBRuntime), dan menggunakannya kembali kapan pun Anda membutuhkan ObjectContext baru.