Have some concerns about normal behaviour of Hangfire running in IIS

I’m using Hangfire right now to start a network listener that runs for the duration of the ASP.NET app. Right now I’m noticing two things that I am unclear as to whether it is normal behaviour or not.

The first is I Enqueue() a task in the Configuration() function of the ASP.NET app, which looks like:

public void Configuration(IAppBuilder app) {
ConfigureAuth(app);
app.UseHangfireServer();
app.UseHangfireDashboard();
BackgroundJob.Enqueue(() => NetComms.NetworkThings.StartListening());
}

However, inside my listener, StartListening() will be called at least two times.

When I debug the server and check the running threads, it appears to me that Hangfire only ends up with 1 worker running the listener, but I am still unsure.

I am able to see the ID’s of the worker threads, and if I save the ID’s and check them after a minute, only 1 will actually show me the listener waiting for a connection, the other threads show them as running somewhere in mscorlib.dll.

My second concern is when I check the dashboard @ localhost/hangfire, I see 4 servers running, all with different ID’s and 40 ‘workers’ each. I would imagine this is abnormal given that I requested Hangfire run a single listener for me with 1 call to Enqueue.

Also, debugging in VS through IISExpress will generally have TWO Hangfire servers running, with 20 workers each… whereas release IIS shows me FOUR servers with 40 workers each…