The article actually explains how the process works:
In order to keep the server load down on the database servers (and keep the websites using it zippy), InfinityFree frequently checks the load on the server. If it’s determined that the database server load is too high - and performance on the websites using it is reduced - an automated system will come into action.
The system will then check which users on the database server use the most database server power. The system will then suspend the accounts causing the highest stress for the database server, which will be taken down for 24 hours.
This is exactly how the database performance is measured and high usage accounts are identified.
As to why your database usage was so high, we don’t record that. It could be a database query which returns too many rows, which queries too many rows, lacks proper indexes (or the query planner doesn’t use them correctly), joins too many tables, etc. All of those things could cause this, but we have no data to tell which one of those applied to your account.