My thinking in this is that what you have is returning total and then incrementing total.
With what I suggested it would increment total before returning it.
Again, just a thought at first glance. I haven't tried it to make sure. Should be easy enough to try out. I hope that works.

Hmm. That's puzzling. You could always try incrementing the Total property and store that into a new variable.
Then return that variable. I doubt that would be any different than what you've already tried but it can't hurt to try it.. I'd really have to see more code to see what exactly you're doing.