Snapper number cleanup doesn't seem to work

I have a systemd timer set to take snapper snapshots daily (snapper defaults to hourly so I disabled timeline snapshots). The problem is that snapper cleanup doesn’t seem to be working, the number of snapshots increases beyond the limit I set and I have to remove old snapshots manually.

Relevant info:
snapper config file:

# subvolume to snapshot
SUBVOLUME="/"

# filesystem type
FSTYPE="btrfs"


# btrfs qgroup for space aware cleanup algorithms
QGROUP=""


# fraction or absolute size of the filesystems space the snapshots may use
SPACE_LIMIT="0.5"

# fraction or absolute size of the filesystems space that should be free
FREE_LIMIT="0.2"


# users and groups allowed to work with config
ALLOW_USERS=""
ALLOW_GROUPS=""

# sync users and groups from ALLOW_USERS and ALLOW_GROUPS to .snapshots
# directory
SYNC_ACL="no"


# start comparing pre- and post-snapshot in background after creating
# post-snapshot
BACKGROUND_COMPARISON="yes"


# run daily number cleanup
NUMBER_CLEANUP="yes"

# limit for number cleanup
NUMBER_MIN_AGE="1800"
NUMBER_LIMIT="7"
NUMBER_LIMIT_IMPORTANT="10"


# create hourly snapshots
TIMELINE_CREATE="no"

# cleanup hourly snapshots after some time
TIMELINE_CLEANUP="yes"

# limits for timeline cleanup
TIMELINE_MIN_AGE="1800"
TIMELINE_LIMIT_HOURLY="10"
TIMELINE_LIMIT_DAILY="10"
TIMELINE_LIMIT_WEEKLY="0"
TIMELINE_LIMIT_MONTHLY="10"
TIMELINE_LIMIT_YEARLY="10"


# cleanup empty pre-post-pairs
EMPTY_PRE_POST_CLEANUP="yes"

# limits for empty pre-post-pair cleanup
EMPTY_PRE_POST_MIN_AGE="1800"

Output of systemctl status snapper-cleanup.service:

○ snapper-cleanup.service - Daily Cleanup of Snapper Snapshots
     Loaded: loaded (/usr/lib/systemd/system/snapper-cleanup.service; static)
     Active: inactive (dead) since Tue 2022-08-09 15:36:22 EEST; 8min ago
TriggeredBy: ● snapper-cleanup.timer
       Docs: man:snapper(8)
             man:snapper-configs(5)
    Process: 6807 ExecStart=/usr/libexec/snapper/systemd-helper --cleanup (code=exited, status=0/SUCCESS)
   Main PID: 6807 (code=exited, status=0/SUCCESS)
        CPU: 11ms

Aug 09 15:36:22 <hostname> systemd[1]: Started snapper-cleanup.service - Daily Cleanup of Snapper Snapshots.
Aug 09 15:36:22 <hostname> systemd-helper[6807]: running cleanup for 'Root_snapshot'.
Aug 09 15:36:22 <hostname> systemd-helper[6807]: running number cleanup for 'Root_snapshot'.
Aug 09 15:36:22 <hostname> systemd-helper[6807]: running timeline cleanup for 'Root_snapshot'.
Aug 09 15:36:22 <hostname> systemd-helper[6807]: running empty-pre-post cleanup for 'Root_snapshot'.
Aug 09 15:36:22 <hostname> systemd[1]: snapper-cleanup.service: Deactivated successfully.

Also the list of current snapshots:

sudo snapper -c Root_snapshot list
  # | Type   | Pre # | Date                             | User | Cleanup | Description | Userdata
----+--------+-------+----------------------------------+------+---------+-------------+---------
 0  | single |       |                                  | root |         | current     |         
 7  | single |       | Mon 01 Aug 2022 06:50:04 PM EEST | root |         | 01-08-2022  |         
 8  | single |       | Tue 02 Aug 2022 05:45:32 PM EEST | root |         | 02-08-2022  |         
 9  | single |       | Wed 03 Aug 2022 04:04:59 PM EEST | root |         | 03-08-2022  |         
10  | single |       | Thu 04 Aug 2022 06:24:00 PM EEST | root |         | 04-08-2022  |         
11  | single |       | Fri 05 Aug 2022 06:39:01 PM EEST | root |         | 05-08-2022  |         
12  | single |       | Sat 06 Aug 2022 07:40:02 PM EEST | root |         | 06-08-2022  |         
13  | single |       | Sun 07 Aug 2022 08:42:56 AM EEST | root |         | 07-08-2022  |         
14  | single |       | Mon 08 Aug 2022 11:36:25 AM EEST | root |         | 08-08-2022  |         
15  | single |       | Tue 09 Aug 2022 09:04:27 AM EEST | root |         | 09-08-2022  |  

9 snapshots while I want 7 and running snapper-cleanup manually is doing nothing.

I wonder if these are considered “important”, since you have that set to a limit of 10?

The snapper cleanup algorithm is kind of confusing. These two issues seem to clarify some things but still confusing nonetheless:

I think I will either switch to btrbk or make my own snapper cleanup script.