The cause of memory leak is public class TelemetryManager : IDisposable.
This class is created by public class Pubnub is case of config.EnableTelemetry == true but will never be disposed.
It can lead to significantly increasing of Number of Active Timers and ultimately lead to memory leak.

Also, non-disposed timers can affect monitor tools (e.g. New Relic) -

My suggestion is:
- Add
IDisposable interface to Pubnub class.
- Implement
Dispose method to clear this.TelemetryManager.
The cause of memory leak is

public class TelemetryManager : IDisposable.This class is created by
public class Pubnubis case ofconfig.EnableTelemetry == truebut will never be disposed.It can lead to significantly increasing of
Number of Active Timersand ultimately lead to memory leak.Also, non-disposed timers can affect monitor tools (e.g. New Relic) -

My suggestion is:
IDisposableinterface toPubnubclass.Disposemethod to clear this.TelemetryManager.