The idea is following: only store information about edges which are 1. Communicated to the OpenSubdiv topology. This rules out all loose edges, as they are not needed for the propagation process. 2. Correspond to edge from the base mesh. This avoids storing edges which are generated between inner face. Those are not to have any sharpness to allow smooth propagation. There is still possible to have memory peak in some obscure case when mesh contains a lot of loose edges. It can be optimized further by utilizing knowledge of the non-loose tags.