I work always in local scopes where the variables(objects) gets disposed by the garbage collector when they are no longer in scope (needed).
and I don't recommend working inside the global scope, only for functions you need throughout your whole program and should always be available and so never has to be deleted.
otherwise you shouldn't use the global scope.
Its one of the common rules for programming, that you should avoid using globals.
Globals are not safe, everything in your program can access it and modify.
You should not use it, if you can avoid it with locals(inside functions).
Instead of using a lot of globals, pass local variables as parameters(arguments) trough functions.
That way unauthorized functions cannot access variables( read or write to it).
(memory)
Also global variables will not be collected by the garbage collector because there will always be a reference to it.
So you would have memory allocated that you wouldn't use anymore. or in the function and not relevant for now.
Also relevant to your question:
delete only works on object properties.
If you mean by global the full global of the web application.
app = this
catches the global(window) so it is not really necessary to get this instance because it is already global.