If you are scheduling jobs from within the web app, using Hangfire, the Hangfire poller might keep the app busy enough to never idle out. Failing that, enabling Always-On should prevent any (non-catastrophic) shutdowns, so the poller can always run.
But, if you're like me, you or your customers want the app to spin down when it can. So, you can schedule your tasks using WebJobs or other Azure platform scheduling & queuing tools instead, tools made for just your scenario. The WebJob can trigger a task which Hangfire manages for persistence only, not for scheduling. The managed task code can live in the original web app.
In other words, if you're creating a separate App Service because you're worried about reliability in your web app, or because you think it's a best practice, I'd say don't bother.
On the other hand, if you know you're OK with the added complexity and potential costs of deploying another App Service, and you have your reasons for doing so, I think it's fine. With a separate app, you'd have the ability to restart or shut down one without taking down the other.