スタックトレースとコード例から、カイエンスタック(ServerRuntimeオブジェクト)を再利用しておらず、代わりに毎回新しいスタックを作成しているように見えます。遅いことに加えて、これはリソースリークも引き起こします。各ServerRuntimeは、シャットダウンしない独自の接続プールを保持します。そのため、遅かれ早かれ、PostreSQLサーバーは開いている接続でオーバーフローします。
解決策は、ServerRuntimeをアプリスコープのシングルトンに変換し(たとえば、AccountsDBRuntimeの静的変数にする)、新しいObjectContextが必要なときにいつでも再利用することです。