The inbuilt EditorCommands.CommentLines command of the SyntaxEditor always comment out in the primary language. Even if the caret / focus is set within a sub language and the sub language has an own LineBasedLineCommenter registered which should be used instead but isn't.
For example the primary language is C# and the sub language is XML and both have their own commenter service. If the caret is within XML code and you use the EditorCommands.CommentLines command the code gets commented out by // instead of <!-- -->