Actually, once you've moved the urlLoader variable to a class instance level, that reference will prevent the urlLoader from being garbage collected as long as the enclosing myCustomLoader is around. Now, if the myCustomLoader were to have no references to it, it could be garbage collected and take its urlLoader with it.

When you are creating your myCustomLoaders, are you keeping references to them, or are you creating them as local variables inside a function?