One annoyance I have with M-. is that it interns symbols. Normally it's not a problem except when the symbol does not exist (mistyped, incomplete) and I end up polluting the package which hinders subsequent completions.