While searching the web, I came across a list of rules from Eric Evans\' book that should be enforced for aggregates:
Technically I don't think there is a way to prevent an external object from holding on to the reference beyond a single method or block. I guess you just have to force this rule in your design.