My question is: Is it possible to stop the block generation when mempool is empty?
In a hypothetical situation, in the future, tx fees will make up the majority of miners' income. If there are periods during which there are not transaction (fees), most miners may decide to turn their machines off until there are enough transactions to confirm that pay a sufficiently high fee.
However, as long as the block subsidy is high enough, miners will decide to mine empty blocks if the mempool is empty. Or they will mine blocks full of transactions to themselves, if there is some rule requiring blocks to have a certain number of transactions.