what is the primary factor responsible for the increase of block size?
The primary driver of Block size is the number of transactions. Below is the structure of a block and the size of each part in the block.


  Magic no, 4 bytes
  
  Blocksize, 4 bytes
  
  Blockheader, 80 bytes
  
  Transaction counter, 1 - 9 bytes
  
  Transactions, -many transactions


The only part of a block with a variable size is the transactions part.

See: https://en.bitcoin.it/wiki/Blocks

If you're exploring the scalability of Bitcoin, see: https://en.bitcoin.it/wiki/Scalability#Storage