We should probably keep a Queue of the Gameplay Abilities Add/Removed rather than two separate lists. That way we can get the ordering right. I suspect there are lots of ordering issues if we look carefully.
Create an Ability that performs a function, then grants itself back to you upon removal. Notice that there is an issue because all of the Adds are performed first, then the Removes. The result I believe is that you will not get that GA added again, it will instead be added when some other GA gets applied.
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-183880 in the post.