Registers store the thread data that the cpu was working with. If a thread wants to start right where it was context switched earlier, it needs that temporary data also. Hence we store it on per thread basis.
Else, if we are okay with repeating the most recent instruction, then a PC register will suffice and rest registers we can remove.