McFarland's men moved into a 19-6 lead during the first 20 minutes of the match, scoring three times and forcing Alex Mitchell into the sin bin for a deliberate knock-on.
But Ulster were never able to pull away from Saints, who remained in the game right until the end, narrowing the gap to five points with two minutes left to play.
And McFarland, whose side have now won both of their Champions Cup matches this season, having beaten Clermont Auvergne last weekend, was not overly happy.
"A bonus-point win in Europe is great any time but we will be forensic because we certainly made it difficult for ourselves," McFarland said.
"Every time we scored we seemed not to be able to get out of our own half, which has actually been a particular strength of ours over the past three or four games.
"We definitely made it difficult for ourselves and Northampton made it difficult for us.
"In that second quarter we really felt we lost a lot of collisions and we couldn't get any quick ball.
"That first try shocked them into needing to slow down our ball and they did that well.
"Having said that, in the second half we got a few nice passages of play together and we felt if we'd managed to be able to exit properly we'd have control of the game, but we didn't.
"We kept them in the game."
A key moment came early in the match as Mitchell was shown a yellow card and Ulster were awarded a penalty try.
The Saints scrum-half was penalised for a deliberate knock-on, with Chris Boyd feeling it was a slightly harsh call from referee Andrea Piardi.
But McFarland said: "Come on, that's a definitive penalty try!
"He's got one hand out, he can't catch that ball and it's a penalty try every day of the week.
"It's definitely a yellow card and a penalty try.
"The interpretation of the law as it is now is not that you're trying to knock the ball down - if you put your hand out and you don't have a chance of catching it, it is a penalty.
"And if it's a penalty and the ball would have gone to your man and he'd have scored in the corner, then it's a yellow card and a penalty try."