Confirmed. It looks like the code to decide what the next number should be is less strict than the code which replaces the old number with the next one.
So it's matching -06) as the existing number, making (7) the next number, but it doesn't replace -06) with (7) (or -07) or some other variant) and instead adds it on the end.
If you do it with ABC (6) you can see what is meant to happen.
Although all it strictly aims to do is ensure the new name is unique, it'd definitely make more sense to add (1) instead of (7) here, as you suggest.