Why is using 'C.object.data.uv_layers.remove()' in a loop not removing all UV layers?
Try a while loop.
Rather than looping thru a list you are removing from, it is often a better to make a copy of that list and pop and remove until list exhausted.
Using pop() is taking from the end of the list.
&gt;&gt;&gt; me = C.object.data
&gt;&gt;&gt; me
bpy.data.meshes['Suzanne']


&gt;&gt;&gt; uvlayers = me.uv_layers[:]
&gt;&gt;&gt; while uvlayers:
...     me.uv_layers.remove(uvlayers.pop())