Have a look at https://aws.amazon.com/cloudwatch/pricing/
CloudWatch doesn't just bill for gathering metrics from running services but also for having dashboards and alarms created and for gathering and storing logs and some other things. The storing of logs can stack up costs quite quickly.
You will have to clean up those other CloudWatch components as well, and make sure that no other unexpected service like CloudTrail is pushing logs through which you should be able to tell from the log group name.
Port 80 (HTTP) and Port 443 (HTTPS) stopped working for all my EC2 instances of ap-south-1 Region (including any new instance i launch in this region)asked 6 months ago
Do I get charged for stopped instances?Accepted Answerasked 5 years ago
I am not able to ssh to EC2 instancesasked 5 months ago
How could I avoid Billing?asked 11 days ago
EC2 Dashboard says I have NO INSTANCESasked 2 years ago
Why am I being billed for Cloudwatch when I have NO running instances, no used storage, no active services of any kind?asked 6 months ago
Does AWS Backup guarantees No Reboot to EC2 instances?asked 2 years ago
Billed for OnDemandStreamHr in Kinesis despite no instances runningasked 5 months ago
After instance Reboot I can no longer connectasked 4 months ago
Workdocs has no storage at all, how do I fix that?asked 3 years ago