private void StartMemoryMonitor()
        {
            var dispatchSourcePressure = new DispatchSource.MemoryPressure(MemoryPressureFlags.Critical | MemoryPressureFlags.Warn | MemoryPressureFlags.Normal,
                                                                           DispatchQueue.MainQueue);

            dispatchSourcePressure.SetRegistrationHandler(() => PrintResult("Memory monitor registered"));
            dispatchSourcePressure.SetEventHandler(() =>
            {
                var pressureLevel = dispatchSourcePressure.PressureFlags;
                PrintResult($"Memory worning of level: {pressureLevel}");
                CancelDispatchSource();
            });

            dispatchSourcePressure.SetCancelHandler(() => PrintResult("Memory monitor cancelled"));

            dispatchSource = dispatchSourcePressure;
            dispatchSource.Resume();
        }