I don't know the official limits, but as far as I know it's pretty high. Your architecture is fine and should work correctly even with more properties. The worse use case would be to connect every device directly to the Platform - with a larger set of devices this could clog your Platform's connection possibilities. But I'm talking now about the thousands of devices - and then Connection Server should be used to balance the overload.
Let me summarize
Basically there is a line on # of properties on a single thing where you should stop using a single Thing (and connection)
When you hit that, you break it out to multiple Things/connections. But there is now a new issue, eventually, which is # of devices/connections
When you hit that, you start adding connection servers
Does that sound right?
Short answer: yes, that's true.
The first step (# of properties on one Thing) - I don't know the exact limit, but it depends also on your hardware (especially memory available). I have seen an implementation with really a huge amount of properties on one Thing. But I'd say - rather keep it on reasonable level (also from business logic perspective).
Splitting up to multiple devices - basically Thingworx can receive a lot of websocket connections without a loose of performance or rejected connections. The necessity of using Connection Servers is estimated to show up around 100k of devices.
For more informations and very interesting testing results regarding Connection Servers and High Availability, please refer to: Digital Media Publisher
Hope that helps.