Ha! got it.
So the clue was seeing the trace out of what was being weaved. I could see some methods getting weaved and others not. But it was the duplication of the weave on methods that i had the break through.
I was using "call" - Thus the weave was only happening on calls of the method, so when I had a class being weaved with multiple calls to the matching methods they would appear multiple times.
I needed to switch to "execution" so that the weave would happen on methods even if they weren't being called.
Chaned my advice to:
after() throwing(MyCustomException ex) : execution (@com.me.MyAnnotation * *(..))