The CPUHighAlarm parameter will alert when the average CPU utilization goes over the value set in the ThresholdCPUHigh parameter. This alert will be sent to the ScaleUpPolicy resource provisioning more instances, which will bring the average CPU utilization down across the whole auto scaling group. As the name suggests, the CPULowAlarm parameter does the reverse when the average CPU utilization goes under the ThresholdCPULow parameter.
This means that new instances will be launched until the CPU utilization across the auto scaling group stabilizes somewhere between 40-60% (based on the default parameter values), or the MaxSize of instances is reached.
The minimum charge for an instance is one hour, so creating and destroying them multiple times in one hour may result in higher than expected charges.