I never actually found a fix for this or got a response from woocommerce. So still unsure why it has so much of a strain on this function. There was a recent woocommerce upgrade so not sure if that would have helped.
I made the change to the heartbeat which slightly improved things for a while. I also signed up to Cloudflare CDN which helped but eventually with an increase in traffic it started to slow down again until I couldnt really do anything within the wordpress admin panel without smashing my monitor in frustration. So the only way I found to resolve was to upgrade hosting which I had been putting off for a while. I moved from my shared hosting to VPS and pages are loading fast and although I can still see the load times for admin-ajax.php slow in pingdom it doesnt affect the overall load time of the page as it seems to be counted as a background process. So with VPS and also cloudflare my site can handle it no probs even with a spike in traffic.
WordPress in general seems to need a lot of power behind the scenes so if you add a lot of plugins and have a lot of posts + traffic then eventually you will outgrow shared hosting (unless you are having this issue with VPS).
The only problem with that is to move to VPS with the hosting company I was with was really expensive as they were looking for $100 a month. They were actually helpful when I was on shared hosting trying to resolve this as they increased the CPU to around 60% when I should have only had 25% but I just couldnt justify paying their monthly fee for VPS. So I looked around at the hosts wordpress.org recommend and choose one of those. Costs about $15 for 1st month then moves to $25 a month for my VPS.
On shared I was paying only $80 a year but it was worth the upgrade just so I can keep all the functionality on the site. I've also been able to add plugins back on that I had to remove to help speed up the site and it doesnt have any impact on speed.
Would have preferred to find a solution that would work on my shared hosting set up but I just couldnt deal with the hassle anymore.
Its not a fix but it just means that you can concentrate on the content on your site rather than worrying about if people are going to get frustrated by how slow your site is.