because only limited number of transactions will get place in the block (~4MB).
A block (at present) can never contain 4 MB worth of transactions.
The limit on a block at present is 4,000,000 weight units. See my
reply on the previous page for a brief explanation of what weight units are. Legacy transactions are only non-witness data, so take up 4 weight units per byte, and a block could fit a maximum of 1 MB. Witness data takes up 1 weight unit per byte, so if a block contained nothing but witness data, it would be 4 MB.
There are no transactions which are
just witness data, though. SegWit transactions contain both non-witness (at 4:1) and witness (at 1:1) data. A block filled with regular SegWit transactions and no legacy transactions has an upper limit of somewhere around 2.5 MB. The biggest block we've ever seen so far was block number 566575, at 2.377 MB.
close to 4MB.
The best possible size to weight ratio I can think of is a transaction which also spends a P2WSH output that has a ridiculous redeemscript. And then there's also the coinbase transaction and block header. The witness would be 4000000 - 240 * 3 - 240 = 3999040. So there is 3999040 bytes in the witness. The total block size is then 3999040 + 240 = 3999280 bytes.
in practice, miners would ignore such transactions unless they paid ridiculously high fees. so it doesn't happen.