How many blocks can be handled?
From a capabilities and code perspective, there is no practical limit to the number of entities in a system (blocks, nodes, users).  drupal.org is a good example of this; it has tons of users and nodes on it.

That doesn't preclude needing to properly scale out the rest of the system.  This is particularly important in a Drupal 8 system, where caching is used extensively.  One of the most overlooked aspects of this is properly tuning the database.

Out of the box, MySQL can have some bad default parameters.  MySQLTuner can provide some guidance on how to adjust your system, particularly the buffer size.  If your cache tables get large, I/O from them can slow down when they are hitting disk.

When you get to the point where you need to squeeze more performance out of a tuned site or if you are memory limited for proper tuning, you may want to consider a non-database caching solution like memcache or Redis.  These can really help with large systems.