Turns out there was a logic issue elsewhere in my program causing ungrab to be called after every grab call. Resolving that has resolved my issue.