Memory leak when a Progress Class implements a .NET interfaceA memory leak can happen when using an ABL class that implements a .Net interface. The same memory leak does not happen when an ABL class inherits from a .Net base class. For example a class defined in the following way that is called many times triggers a memory leak:
class Classes.WithMemoryLeak.SomeClass implements Classes.Util.SomeOtherClass:
For some reason classes defined this way are not garbage collected when they are no longer needed. In comparison if a class is defined as inheriting from a base class:
class Classes.WithoutMemoryLeak.SomeClass inherits Classes.Util.SomeOtherClass:
The problem doesn't occur.