You need to think about it in two parts
You have one ItemActionSet for your UI. This is where you will have your UseItemActionGetAttribute action. It's purpose is to each item can individually decide what action is processed when the play presses "Use"
On the ItemAttribute (in your case you've set it named as "ItemActionSet") you assign a second, different ItemActionSet. This is where you define what it does. It shouldn't be another "UseItemActionGetAttribute action"
Example:
Apple : Has an ItemActionSet with an action "Heal" that heals x HP, the Apple ItemActionSet is assigned in the ItemActionSet attribute
Bomb: Has a different ItemAction Set with an action "Throw" that spawns the bomb, the Bomb ItemActionSet is assigned in the ItemActionSet attribute
The you UI ItemActionSet for your InventoryGrid or Hotbar can now have a single ItemAction "Use", that will find this "ItemActionSet" attribute, get the relevant ItemAction at the index specified (imagine index 0 is the "Heal" action for apple and "Throw" action for the bomb)
This way use uses those relevant actions.
In your case my assumption is that you've set the StompingCapsuleItemActionSet as the attribute. So it goes in an infinite loop as it keeps calling the Use action of itself
Hopefully that makes sense