If you're going to confront your DM about this (and make sure you discuss this with the affected player first!), you're going to want to have a case to make for why you think something's wrong with these rolls. It's all fine to say "well, they missed 10 times in a row, you must have cheated!", but D&D is a game driven by long odds and strange probabilities. You're going to want a specific case for why Toll the Dead failing as often as you claim it is is evidence of systematic rigging, whether intentional or unintentional.
The Basics of the Math
A DC of 16 is pretty close to the expected DC for the saving throws of a level 9-12 spellcaster. So it's probably fair to assess that the creatures you're facing against are appropriate for that level range (i.e. probably not tougher than a CR12 creature).
In the officially released Sourcebooks for 5e (not including Adventure Modules) there are ~630 creatures at or below CR12 (~450 if you exclude creatures that are less than CR1). Of these creatures, ~130 of them have noteworthy Wisdom Saving Throw (the type of Saving Throw that Toll the Dead uses) scores.
So in general, you can expect, through the course of your campaign up to this point, to expect that most creatures you face aren't going to have spectacular Wisdom Saving Throws. Even for creatures with especially good Wisdom scores, you would typically expect their Wisdom Saving Throw modifiers to be in the 5-9 range. But maybe your campaign is favoring said creatures.
So against a DC16 Wisdom Saving Throw, the best your enemies (assuming pretty decent Wisdom Scores) ought to be able to do is save against Toll the Dead about 50-70% of the time, meaning your teammate's spell can only be expected to succeed about 30-50% of the time.
So depending on what you're fighting, you certainly cannot expect to land that hit every single time. Saving Throw based spells tend to get resisted somewhat more frequently than Attack Roll based spells, due to Saving Throws favoring the defender (because they'll win ties) and also just having lower thresholds for success (for the defender) than Attack Rolls usually do.
The Math suggests some odds are being altered
At 50% odds to hit, the odds of missing 4 times in a row is 6.25%, or about 1/16. 8 times in a row is 0.39%, or 1/256. At 12 combat sessions, if we assume they got to use the spell twice per combat session (which is a bit on the conservative end), the odds of missing with this spell 24 times in a row is about 0.00000596%, or 1/16,777,216.
The odds are higher at 30% to hit, where you'll miss 24 times in a row about 0.019% of the time, or 1/5,219 odds. At 40%, you'll miss 24 times in a row around 0.00047% of the time, or 1/211,042 times.
These are, admittedly, a pretty extreme range. 1/5,219 odds are low; but given how many people play D&D, it's possible you/your group were just the unlucky ones that fell victim to the tail end of the probability curve. It happens. A one-in-a-million chance isn't literally impossible to happen: it happens once every million trials (on average), and someone has to be that lucky (or in this case, unlucky) millionth person.
But these are pretty long odds. Literally, >99% of the time, your DM is screwing you over.
What to pay attention to
So if your claims about the outcomes of these dice rolls are accurate, you need to work out whether your DM is literally lying about the results of dice, or giving his monsters unfair stats. Here's a useful table:
|Odds of Hitting
||Odds of Missing
||WIS Saving Throw
||Odds of Missing 8 Trials
||Odds of Missing 24 Trials
Around the point where the odds hit 20% chance to hit, the math starts to favor the "plausible deniability" of your DM. A 1/200 chance of missing all 24 rolls is still quite improbable, but if it happened, you wouldn't accuse the DM of altering rolls; the chance of rolling a 1 when rolling advantage is lower than that. At 5%, it happens about 1/3.42 times, or around 29%: that's pretty likely!
Granted, this doesn't absolve the DM of "cheating" by any stretch; it just means that their Die rolls probably aren't the culprit. Instead, what might be happening is that the DM is making the Saving Throw modifiers for his creatures far too high. And it doesn't take much in 5e: a Saving Throw modifier of +11 is all it takes to make the 20% chance to hit realistic, and at +15, it becomes literally impossible for a DC16 saving throw to be failed (since 5e doesn't have Critical Successes/Failures for Saving Throws).
Now, in 5e D&D, a +15 to a saving throw is pretty absurd for a non-legendary creature. That's even too high for most Ancient CR20+ dragons, whose Wisdom Saving Throws cap out around 9-12. The highest Wisdom Saving Throw I could find in the 5e sourcebooks was Zariel, a CR26 Devil with a modifier of +16.
So if your DM is "rolling fairly", it's with creatures that have wisdom scores as high as legendary Fiends. Which begs a (possibly overlooked) question...
Did your DM come from 3.5e D&D?
I'm framing this like a question, but it ought to be clear it's rhetorical: whether they did or did not, these numbers would be a lot more plausible if they were using the kind of power curve expected by that game, rather than what 5e expects. A Wisdom Saving Throw modifier of +15 would still be pretty high for that game, but it would no longer be in the realm of literal gods.
What to do
So if you're worried about your DM being confrontational about their statgen, you can use this as a way to get them to open up: "Listen DM, based on how many times that player's Toll the Dead spell has failed, I think you may have set these creature's Wisdom Scores too high. Did you use 3.5e stats when generating these creatures?"
If they deny it, that makes a pretty strong case that they've been cheating with their dice rolls. If they confirm it, then you have a solid case to take to them: "Alright, I understand why you did that, but DM, you've given them the stats of a Legendary Demon Lord! Surely you agree that's a bit unreasonable for characters of our level?" Remind them of Bounded Accuracy and how that concept interacts with the 5th edition power curve, and encourage them to make sure the creatures they generate are stated appropriately for the characters they're facing off against.
However they react beyond that is probably a topic to take to another site, like SE.Interpersonal, which is specifically for resolving social disputes—which, at that point, would be what you're dealing with.