chuckc,
In both of your cases you added a property that uses a non-serializable type. Neither the EntityManager is serializable nor the Dictionary. Whether you use OData or not, both these classes can never be serialized.
The way to tell OData to ignore certain properties is by means of the IgnorePropertiesAttribute, which you already tried and I think I know what's happening. Our code generator emits the following attribute for each entity, which causes the compiler to ignore yours.
[IgnoreProperties(@"EntityAspect")]
I need to do some research on my end to determine what the easiest way is to get your properties into the list of ignored properties.