ObjectChange doesn't listen to modifications of collection properties

We have an Object with a List-based property, but when an object in the list is modified, the ObjectChange for an observe block on the original object never gets called. Is this the expected behavior of Collection based properties that requires its own observer? Or is there another way that doesn’t require extra observers? Is there a performance penalty to having so many observers?