It appears that this is a bug in the current transaction implementation in TinkerGraph. A related bug fix has recently been merged into TinkerPop but not yet released, however there appears to be a bit more going on here than what is included in that fix.
This will need more investigation to fully explain what's going on, but I can confirm now that this is an bug with TinkerGraph and not anything wrong with your usage.