Always use the .RequestAccess to check if your user gives the right permissions to use the service in question.
Don't do UI centric things from a Shiny delegate, this includes things like calling RequestAccess. Most Shiny services have an equivalent "foreground" type call on the service that can be used safely within the UI portion of your application.
Don't try to setup background processes in a delegate or as your app is going to sleep. The methods for setting up background processes in Shiny are all asyncc and the OS will not wait for things to complete.