Ok, I think I solved it.
I watched this youtube video. https://www.youtube.com/watch?v=BIkf5U1rDYQ
I found where the temp upload folder was on my server and checked the user groups and permissions.
Following the video I added IUSR principal and gave the necessary permissions. This didn't solve it but when I checked the IIS_IUSR principle it didnt have read/write permissions enabled.
Now I can upload smaller images and it doesn't give me a broken image link or a 500 server error.
Will do a few more tests and update if it has been fully resolved.
Thanks