Getting SocketReadTimeoutException exception frequently in our PROD & SIT system

Can anyone provide any other suggestion on this issue ? We are stuck in this!

Issue :
We are getting “MongoSocketReadTimeoutException” frequently in our PROD & SIT system.
Due to this our MongoDB operation are getting failed.
In Mongo DB Stat : All the queries are completed with in 5 sec.

Setup:

  1. App Server & Mongo DB Server are in different subnets.
  2. We are getting this issue in our PROD and SIT System
  3. In PROD, firewall is placed between App & DB.
  4. In SIT, L3 Swtich is placed between App & DB.
  5. MongoDB version is 4.2 & Driver is mongo-java-driver-3.12.0.jar
  6. Load/CPU/memory are normal in both the servers.
  7. In PROD & SIT, Keep alive is set as 300s in App and DB Servers.
  8. Server are Intel based.
  9. JDK 1.8
  10. PROD URL : mongodb://CLD-GFNMS-DB3:27020,CLD-GFNMS-DB4:27020/?replicaSet=GFGNL_Production&maxPoolSize=5000&waitQueueMultiple=5&waitQueueTimeoutMS=20000&connectTimeoutMS=20000&socketTimeoutMS=300000&readPreference=primary
  11. SIT URL : mongodb://10.10.7.8:27020/?maxPoolSize=5000&waitQueueMultiple=5&waitQueueTimeoutMS=20000&connectTimeoutMS=20000&socketTimeoutMS=300000&readPreference=primary&maxIdleTimeMS=120000

Kindly provide us the resolution!