We do, and instantly turn them into issues.
We use a GitLab private group. For each new TODO, FIXME, and XXX lines a script in the commit pipeline opens a new issue. When the comment is removed, it also adds a comment to that issue, so devs can look at it, and close the issue if it is actually solved.
We, as a team, generally think a TODO comment is a good thing. It marks the code as "works for now, but this might change if the stars align". Leaving them there forever, however, is a bad thing.
We used to to have a shame wall that displays all TODO comments by author, ordered by age, if the comment got old (ie. a month or so). As that wasn't helping, we created this issue opening script (the shame wall is still there, though.) It works fine.