I ran into problems recently when I was using custom classes.
In essense I had a class A with a few properties of more basic types (e.g. bool, int etc).
I then had a class B, with a property of type class A.
Class B had an autoobject to make it stay around, but when it was initialized it didn't seem to call the init function on the property of type class A, and so this failed with either a hard fault or data corruption at run time.
The workaround that I discovered was to have an instance of the class A rather than a property of that type (but the original way I did it compiled fine both in Embedded Wizard Studio and the device C code, so it seemed like it should work?)
The downside of the workaround is I couldn't then have property observers on that object without creating an extra property just as a flag that the data in the object had been updated.
Is there a better way to be doing this?