Remember that in addition to the three! Everett TOs there was also a fumble by Peterson that we recovered but contributed to stalling a drive, and a Russ fumble that we recovered but that also led to a stalled drive. When not dropping the ball the offense was actually doing far better than it seemed at the time.
Curhan took over in the second and gave up an early sack on a speed move that blew past him. He looked better in the second half but then gave up another sack on a blitz where there was confusion. He did do some nice things in the running game, including a pulling block where Bosa ceded ground rather than getting in his way.
Forsythe only had a few snaps but did his job with successful pass protections against Bosa and solid run blocks against Armstead. There was one running play where he got to the second level and then didn't seem to know which LB to pick up.
Center blocking continues to be overrated in this offense. Pocic helped out on some double teams and spent some time moving to the second level. However, much of his time in pass protection against the 49ers looked something like this.
The rest of the linemen played well but weren't tasked with that much. The quick passes made all the difference and there were twenty passes where Russ threw it fast enough that the protection didn't really matter. On the Eskridge TD Russ had plenty of time in the pocket and then stepped up to avoid edge pressure nicely.
On the flip side, the sack that Brown gave up was partly because it was a rare time when Russ held the ball a bit too long and then retreated backwards into edge pressure. Russ also had the ball a bit too long on the incompletion to Homer later in that drive.