public MinimumResultModel Handle(MinimumCommandModel message) { var result = new MinimumResultModel { Id = "-1", PayloadAsString = message.FullPayloadString }; try { var info = message.MinimumPayload.JobInfo; SetupInstance(info); // <<-- SOLUTION (in BaseHandler) var job = JobHandler.GetJob(info); // <<-- SOLUTION (in BaseHandler) result.Id = BackgroundJob.Enqueue(() => job.Execute(null, message.FullPayloadString, JobCancellationToken.Null)); } catch (Exception ex) { Log.Logger.Fatal(ex, ex.Message); result.Exception = ex; } AppDomain.Unload(JobAppDomain); return(result); }