When you host anything in IIS,it always run continuously unless your site is idle.IIS has a default setting where the site is idle for more than 20 minutes,it will shutdown the site.This setting is at the application Pool advanced settings as shown below

You can set Application Pool Idle time out to zero so that it never
shuts down
Also wondering how exactly have you written the logic to pull the data from the MSMQ service.In case you have not looked into the details, Running a recurring background job is not straightforward in WCF or Asp.net .If you are using timer thread,it may not work all the time. if you are using something like hangfire ,then it fine.But you have to make sure that it can fine all the time and check all edge cases like this and this
So the take away is
if you need a background task, use a Windows Service instead.Or you use something like hangfire or this nuget and with IdletimeOut to 0 in corresponding Application Pool