Property counter loop and others

So… I am having trouble understanding this gimkit phenomenon
if you connect a counter to the property when the counter is incremented, then the value of said property is increased. Now there is another function in the property device: “when value changes” NOW this gave me an idea, theoretically if you connect a button to a counter, and that counter to a property, then set it to when the property of the value is changed have it increment the counter causing the property to change going into this loop

here is an image for reference:
Screen Shot 2024-04-17 at 8.34.17 PM

so I try it out and instead of going into a loop this happens:
Screen Shot 2024-04-17 at 8.36.36 PM

it is just a random large number, so I press it again:
Screen Shot 2024-04-17 at 8.38.10 PM

and then it was incremented by 399…
I then have another idea! what if I use channels
here is a picture for reference:
Screen Shot 2024-04-17 at 8.41.54 PM
Screen Shot 2024-04-17 at 8.42.10 PM
Screen Shot 2024-04-17 at 8.42.26 PM

Now I press the button and:
Screen Shot 2024-04-17 at 8.43.38 PM

HA! exactly 300,
but when I pressed the one with wires:
Screen Shot 2024-04-17 at 8.44.25 PM

it is 268…
I thought wires and channels were interchangeable BUT no, this is something different…

and press the 2 buttons again:
Screen Shot 2024-04-17 at 8.46.04 PM

and the channel again is incremented by 300
but the wires system is incremented by 350… huh…

now a more interesting concept comes NEXT:
this infinite loop is FIXED!
all you must do is add a delay
Screen Shot 2024-04-17 at 8.53.08 PM

so my main questions are these two:
why does it increment by 300?
and why does a wired system increment a number close to 300 but not 300?

Wait so are you asking for help on this or is this like an idea

both actually, there was an idea and then it broke…

I am done now! can someone help?

I am going to bump this…

This just seems to be the property and counter randomly desyncing after a certain number of ticks.
Another possibility is you hitting the limit for wire/channel actions per second.

what’s that?

I have a way to test this, wait a second I add pics soon

nope, they did not desync…

why is the property wired to the counter on the top?

(sorry if you answered that above, i didn’t feel like reading)

the top uses wires, the bottom, uses channels,
it is “property value changes —> increment counter”

oh ok got it. no idea why this would happen.

casually bumping a help topic… could someone explain pls