Um padrão de contagem de referência para idiomas gerenciados por memória?

Java e .NET têm coletores de lixo maravilhosos que gerenciam a memória para você e padrões convenientes para liberar rapidamente objetos externos ( Closeable, IDisposable), mas apenas se pertencerem a um único objeto. Em alguns sistemas, um recurso pode precisar ser consumido independentemente por...