Container can have three configuration over Own and OwnContent:
Own = true and OwnContent = true;
Own = true and OwnContent = false;
Own = falseand `OwnContent = false;
If someone try to instanciate the container with Own = false and OwnContent = true, a exception raises.
There is two Ownerships' behaviours in c#, where IsReadOnly is responsible and IsReadOnly = !OwnContent:
Full Ownership: User can use modify/Add/Remove operations over the container, this is implemented with OwnContent = true.
No Ownership: User cannot use modify/Add/Remove operations, this is implemented with OwnContent = false.
For the memory, Own frees the node, while OwnContent frees the data portion.