Is it normal for collaborator to rerun experiments himself?
I don't find that behavior strange at all. If I want to understand problems with algorithms (I don't do experiments with anything other than algorithms) I need to run them by myself and sometimes even implement the method from scratch. It's not that I do not trust other people's code, but if I want to understand all the mechanisms well, it's much easier to get a grip on it when I've done it myself.

The other way round, I do not have any objections if a coauthor of mine re-implements a method I already provided just to see how it works. On the contrary: Usually I benefit from this in one way or another, e.g. by learning new tricks or getting rid of bad programming style…