Questions about using library items in loaded .swf

Hi,

Say I have master.swf which loads test.swf which contains library items L1, L2, L3, etc …

Q1) My understanding is that once I create an instance of L1 it sits in the memory and I can keep creating instances of L1. Is this subject to garbage collection? (running System.gc does not seem to have an effect)

Q2) if I do somthing like this:

var L1:Class = evt.target.applicationDomain.getDefinition('L1') as Class
var myL1:MovieClip = new L1() as MovieClip;
addChild(myL1);

I can then do this

var _L1:L1 = new L1;
addChild(_L1);

as much as I want. Is that correct? (Is there a better way?)

Q3) If I create L1 as above, and in the constructor of L1 it creates an L2, from what I can tell, I don’t need to call an L2 to get it into the memory (as I had to with L1)? It seems that as L1 and L2 are from the same .swf (eg test.swf) that they can happily create each other even if they are creating instances of each other in other swfs (eg master.swf).

In other words a L1 can create an L2 in master.swf without having to use getDefinition etc even though L2 is not loaded into memory. Is that correct?

Thanks for your consideration and help!

S.