It's so hard to say, since you ended up with such a nice bind on the q-side and did win the exchange.
Tactically, however, I think that if you played a slightly different move order starting on move 16, you end up winning the queen and probably the game.
16 b4 Qc7, 17 Bf4 Qd7, 18 Na4 threatens both mate and a queen fork. Same sort of theme as you had later with the B & N interplay, but by staying on tempo you stop his freeing move of dxe and the unmasking of the Q & R battery against your d pawn. It's just one tempo, but in this case it's enough to swing the game.
Like I said, you ended up winning a clean exchange in your variation, so it's hard to say it's "wrong". But the old maxim is usually true. "When you see a good move, look for a better one."
In the end, I'd say that if you saw mistakes in your last 10 moves, learned something *and* enjoyed the game then that's a great outcome regardless of the end result.