AnnotateViewer creates an internal AnnotationController, the Annotations property, that should be used instead of creating an external AnnotationController.
The reason using an external AnnotationController with the viewer causes issues is because you end up with multiple AnnotationControllers trying to handle the same mouse and paint events.
Original Article:
Q10073 - ERRMSG: Why do I get errors when using an AnnotateViewer and AnnotationController together?