//according to https://docs.microsoft.com/en-us/windows/win32/wua_sdk/guidelines-for-asynchronous-wua-operations, //because we use the same object as a callback, that "has" the job objecs, //we need to call cleanup to avoid circular references and leaks public void CleanUp() { try { searchJob_?.CleanUp(); downloadJob_?.CleanUp(); installationJob_?.CleanUp(); } catch (Exception ex) { VMManagementTool.Log.Error("WinUpdatesManager::CleanUp", ex.ToString()); } }
public override void CleanUp() => _job.CleanUp();