I decided to get my DBA hat on from a past life and have isolated the issue down to repeated calls of the stored procedure ApproveCustomAttributes.
For example, one of the many calls is via these style of parameters;
@ObjectID=8765,@SessionId=1448,@attributename=N'VMs with Snapshots',@attributevalue=N'No snapshots'
If I look at the performance of that stored proc, I see relatively high CPU and long durations; CPU=12294, Reads=63350,Write=4,Duration=11577
These style of queries are repeated rapidly.
I've taken a quick squizz at the stored procedure itself, but it would take me some time to understand the bottlenecks, but the first place I would look at is the nested sub query - as those can be very bad news depending on how the optimiser deals with them.