dispose datacontext

dispose datacontext

I am disposing dc like this:
private void DisposeDB() {
   if (DB != null) {
      if (DB.Connection != null) {
         DB.Connection.Close();
         DB.Connection.Dispose();
      }

      DB.Dispose();
      DB = null;
   }
}

I am 100% sure I am a always uysing the "using" C# keyword to instentiate new BO.
so I know for sure my connections are being disposed properly. I even run dbmonitor to make sure connections are being closed. and they are.

however in PROD I get "The timeout period elapsed prior to obtaining a connection from the pool" almost every week. I resolve it by stopping and starting the app pool in IIS.
I have dotconnect version  v.9.14.1382 from Nov 9, 2021 
my app is a webform .net framework 4.6.1
I am using direct mode to connect

what else can cause this kind of isue besides connections not being disposed?

thank you