That's why it's referred to as Idle Hold. The motors aren't doing hard work, so they don't need a lot of current, but they still need enough to hold position. Reducing the current lets them cool down.
M906 I sets the percentage of full current, and M84 S sets the amount of time to wait before considering the motors idle. Usually 30 seconds or so of inactivity.
A lot can be learned by looking up each gcode in the wiki to see what it does and how it works.