I just tested this as well. If the sprite is member of No families the CPU is 0% (Engine) even if there is 50000 in the layout. As soon as you start adding them to families The CPU usage goes up.
I'm just guessing that somewhere in the background, there is something updating every tick with what family a sprite belong to. Maybe some SOL list or something? I have no other explanation for this. Something in the runtime that keeps track of what families a sprite belongs to?
As you can't change members of family in runtime, I'm not sure why this is something that needs to be updated every time though (if it's that)?
For large projects i think this can be critical, or even some mobile games, as you have a lot less CPU power to play with.
Edit: Or if you take his project file. Run the debugger with the families. It shows for me 10% CPU usage.
When you delete all the families. Run debugger again without any families in project, the CPU usage is 0.5% for the same amount of sprites in layout.
This kind of boggles me, as I'm a heavy user of families in many of my projects.