How can size of a block be significantly small? As we all know bitcoin block size should be sth about 1MiB. (Some blocks about 2MB). And this is because miners put all transactions to the block every 10 minutes.

So what happens technically that causes some tiny blocks to be relayed to the network occasionally?! For example: Block #593577

Let me add that its mined at same time with a couple of other blocks: 


#593576
#593575


So maybe its gonna become an orphaned one.

But my question is about the reason behind mining &amp; relaying such a tiny block with as small number of transactions as 46?! Is it because of sth like low number of connected peers? or weak network connection? Or what?!
Since the time between those blocks is so small (from 593576 to 593577 was only 16 seconds) a miner wouldn't have many transactions to add to the block they are mining (there just haven't been many transactions on the network within that period of time). Also, mining is random, if you happened to mine a block, wouldn't you want to get the block reward even if the block is small? The reward is much higher than the transaction fees. It wouldn't make sense to wait to try to mine a block until there are more transactions. In fact, you can mine a block with only the block reward and no other transactions, if you wanted.

So as more transactions come in, miners would presumably add them to their block in order to maximize the transaction fees they might get if they happen to mine the block.