Hello Z,We are working with a client who may have identified some possible growths. I’m sending a small standalone .NET Framework console project and its README for your review. It reproduces two memory retention issues we’re seeing with QuickOPC. The project does not require access to our application, an OPC UA server, or any configuration. On QuickOPC 5.84.374, running the executable without an endpoint takes about 4½ minutes and reports the result of each check.The first issue concerns OPC UA read results. Our long-running service grew to about 10 GB of memory after 57 days. We found that
objects returned by
Code:
UAAttributeDataResult.ToGoodValueResult
appear to remain attached to a cached result’s diagnostics collection after the caller discards them. The reproduction creates 100,000 discarded results and shows that they remain alive while the cache entry exists; removing that entry releases them.The second issue concerns client disposal. In the reproduction, 100
instances are created, used, and disposed one at a time. All 100 remain alive after a full garbage collection, even when connection attempts fail because no server is present. In our service, the number of retained client chains has also increased with each client created and disposed.The README includes build and run instructions, expected output, production observations, and the object paths we found while investigating. Our explanation of the internal causes is a hypothesis based partly on decompiled assemblies, so we would appreciate your assessment of it.Could you confirm whether these are QuickOPC defects? For each issue, is there a fix or a supported way to prevent or bound the memory growth?