1) Yes. Objects added to Juggler implement the IAnimatable interface, there is no contract with IAnimatable that they even have to have a visible property or have any notion of visibility.
2) Yes, same answer as 1), additionally there is no bounds checking of Starling in general on DisplayObjects either.
3) No. You added objects to Juggler, and you need to remove them.
(DelayedCall and Tween make their own call to dispatchEventWith(REMOVE_FROM_JUGGLER) in their advanceTime when they complete which causes Juggler to remove them on a normal completion)
there's no reference to that DisplayObject on the heap
That itself isn't even possible since Juggler is holding a strong reference to the object if it is fact added to the Juggler.
Having said all of the above, remember that any objects added to a Juggler simply implement the IAnimatable inferface which just has one method: advanceTime()
If you implemented IAnimatable on a DisplayObject and added it to a Juggler, you can simply add all the logic checks if you want above from 1) and 2) as the very first thing you do in your custom advanceTime() and essentially make it a 'no-op' (except for the simple initial call to its advanceTime() from Juggler).