I found a memory leak when using XPO 19.1 with Oracle for a .NET Core app running as windows service targeting .NET 4.6.1.
The same service works without problems when using XPO 18.2.10.
I reproduced issue on a sample project attached to the ticket.
Playing around I found that the issue appears only when targeting full .NET Framework! If I target netcoreapp2.2 it works well.
Thank you for the sample project. We have managed to reproduce the memory leak. This issue occurs when passing a CancellationToken object to an asynchronous method. The problem does not occur when using the CancellationToken.None value.
It turned out that this issue is related to the Oracle ADO.NET provider. Specifically, to its asynchronous methods, such as DbCommand.ExecuteReaderAsync. XPO did not use asynchronous methods in version 18.2.
I am afraid that we cannot address this issue at XPO level, because our Async/Await feature depends on ADO.NET asynchronous methods. Please contact Oracle support service on this matter (Oracle does not have a public issue tracker yet). For your convenience, we prepared a sample project demonstrating how to reproduce the same problem without XPO.