In Flex and ActionScript 3, garbage collection is handled automatically. When Flex sees that there are no more references to an object, the object is destroyed immediately.
This can get complicated when an object is referenced and let go of by many different classes.
Though this is not just a Cairngorm consideration, garbage collection was really no big deal to me until I started using Cairngorm.
The first thing to note is that singletons remain alive during the entire application. This is because they maintain a static variable referencing their instance, and static variables never go out of scope. So for example when you have a service object (which is parented by a singleton Service Locator), and it executes a connect() operation, the service will remain connected during the application unless instructed to disconnect.
The command object is more tricky. Sometimes, it is desirable for the command to execute one thing, then be gone once finished. A more likely Cairngorm scenario is that the command needs to remain alive until the service sends back some data, then the command deals with the data, and is gone. A third scenario is that the Command object needs to stay alive and listen to any message that gets pushed by the server.
See Also: How to Know When a Cairngorm Command is Complete