I noticed that Angular is less-than-conservative when it comes to reading $scope properties. When the app/controller first instantiate, each bound property defined in the model
Try catch stack by firebug but it seem (as I know the angular) that it's from $watch implementation - it must firstly evaluate current hash of object to start "listen" to it's changes. So first reading of object is internal checking and second is for view. Not sure, but it have to read objects twice to implement $watch magic.