Detect Perfect Pairings
Haskell, 146 124 bytes

((""##))
a===bb=bb==a
((aa:bb))##((cc:dd))|aa===cc=bb##dd|1==1=((cc:aa:bb))##dd
a##""=""===a
""##cc=((cc!!00:cc!!00:""))##cc


No comments. Returns either True or False.

Try it online!

Edit: -22 bytes thanks to @Cat Wizard