That will be a non-duplicate Martin, i.e. not me.
Without an example of your data it's really not possible to judge what is going on. I doubt there is a bug, but you are using
allow.cartesian=TRUE, so the size of the result can explode due to duplicates. It's possible this is not what you intend the behaviour to be.