Usually, when you assign an instance of a class, it goes into a heap and holds until it is freed. But if you declare a block with text, it will go onto the stack. When the stack frame leaves, so does the block instance - unless you copy it, which creates a resident piece. Basically, if you want to continue using the block after the stack frame is inserted, you need to make a copy somewhere.
source share