Is your intention to keep all the sites in the same VLAN and broadcast domain?
If so, then some version of spanning tree is advisable for loop prevention across the entire domain and your current issue with STP tafffic will not really change.
Is your L2 service an eLAN that connects all the sites in the same service?
Or an series of eLine point to point that connect only two sites at a time per service?
For user locations:
Generally, we recommend using the provider L2 service as a link between L3 devices at each site. And having local sites in their own broadcast domain.
With an eLAN you would have a single ip subnet with a L3 address at each site and full mesh peering for your OSPF or BGP route distribution. (or use static routes).
With the eLine you have a /31 between the two sites and neighbor relationships on each of these links.
For Data Center Interconnect:
Here there is a need to bridge VLAN and broadcast domains between sites. We generally recommend a transparent service that is used as a trunk port between the two sites. The devices on each side then can control which VLANs are shared between the DC. And generally use MSTP per VLAN.