Requirement
ObjectARX, .NET and ObjectDBX modules
XDATA and extension dictionaries provide a means of augmenting database objects with data and other objects (via hard ownership). Both the XDATA facilities and extension dictionaries are intended to be used by multiple applications as needed. XDATA has a limitation of 16K bytes per object, to be shared by all applications.
For objects that are accessible by all applications, such as entities in block table records and symbol table records, applications should not consume more than 2K bytes of XDATA, and must not consume more than 4K bytes of XDATA. If they need more data than this, consider moving the data to a custom object or an AcDbXrecord in the extension dictionary.
Extension dictionary entries have no maximum size restriction, but there is a memory tradeoff in using extension dictionaries in AutoCAD. Each extension dictionary entry consumes a minimum of 250 bytes of overhead beyond the object state during program execution, whereas each REGAPP in an objects's XDATA consumes about 40 bytes of overhead.
Some objects are private by nature; they are meant to be manipulated only by the application that creates and manages them. Using XDATA and extension dictionaries on private objects is not restricted.