I have a .Net service that connects to an Oracle database on every request. It works fine at the beginning, but after some number of requests I start getting:
I have seen this happen too; try turning off connection pooling with "Pooling=false" in the connection string. I have a theory that idle connections in the pool expire, but ODP.NET does not realize that they have expired, and then when your app grabs one and tries to do something you get that exception.