There are two mistakes in your solution. First, the bonus ball(s), i.e. the extra ball for a spare or extra two balls for a strike in the tenth frame, are only counted once. You've counted the 6 at the end twice.
Second, when a spare is scored, that frame scores exactly 10 plus the next ball. You're scoring 10 for the spare, plus the first ball, plus the next ball. For example, for 3 / 6, you counted the three twice, once by itself and once as part of the spare.
Here's how this would actually be scored, going bottom to top:
ball score total
5 - 146
/ 16 146
6 6 130
3 3 124
X 27 121
X 17 94
7 7 77
0 0 70
4 4 70
3 3 66
X 20 63
4 - 43
/ 18 43
8 8 25
1 1 17
3 - 16
/ 16 16
6 -