Why the system does not try to optimize and put maximum number of transactions in blocks? If the reward to add a block is the same, why the system does not try to optimize and put maximum number of transactions in it? I saw an example block where there was only one transaction in it.

Since we are getting one block roughly every 10 minutes, is this a major concern for the efficiency of the system?
There is no single 'system' that can be optimized, there are hundreds of miners running different software to mine. The bitcoin protocol have incentives in place to maximize the number of transactions per block, like the fees charged by each transaction. But they are not mandatory.

Only the miners could answer for what they did what they did. But possible reasons are:


An internet connection outage that prevent them to receive new transactions to be mined.
A bug in the mining software.
Disregard for the low value of the fees present in transactions at that moment
Use of ASIC-boost or some other optimization that favors small blocks.