Non-hosted simply means that it is not hosted (on a 3rd party hosting service).
Like a small server at your physical place, which is only used for this one task.
This fully depends on what kind of service you are running.
Since you can have a setup with hot-/cold wallet, you can let people withdraw at any time (and batch transactions every X minutes).
You just have to keep your hot wallet filled enough to let people withdraw, but not too filled enough to lose too much in case of an incident.
What actually is used when deriving public keys is the xpub (extended public key).
You can read about it here: https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki#Extended_keys.
Thanks again for the great reply. I really appreciate it. X minutes sounds like a far better schedule time for sure.
Will read up on the xpubs now! Thanks!