Change DynamoController.RunExpression() to call ExpressionThread synchronously.  This is so TLS will work.
Create abstract class InventorObject to hold instance ReferenceKey objects.  Classes representing non-brep objects will inherit from InventorObject.