OK I’ll give it a shot since others are probably enjoying their Saturday off.
My foot mesh is parented to my foot bone as Bone and not Automatic weights.
You have Armature Modifiers on your body parts as well. If an object is parented to a bone you don’t need the armature modifier on it. Having both didn’t affect your leg parts because there is no weighting applied to the vertices. The foot object’s vertices do have weighting applied so the armature modifier is moving the mesh as well as the object parenting. This is why the foot was moving too much. There was also a bit of object scaling on the foot mesh. That causes similar issues too.
I deleted the Armature modifiers for the leg foot toes.
I turned off the IK limits and locks you had on.
There’s probably a cyclic dependency with the Pole target (knee target) being parented to the foot, which is parented to the lower leg, which is controlled by the IK constraint. It only showed error in the system window once while I was pulling this thing apart but whether or not it shows the error I see the classic symptom of the leg moving and spinning around on its own like crazy when you move the IK leg or knee controls.
So I parented the pole target to the Leg IK bone (not connected).
I parented the foot bone to the Leg IK bone (not connected, inherit rotation on*). This way you can control location and rotation of the foot with the IK control.
I created a Root bone. All bones not parented to anything else are now parented to this root bone. This is what you use to place the whole rig where you want it in Pose Mode. Moving the rig from 0,0,0 location in Object Mode can cause issues with other features. A body or torso bone (your Main bone) to move all except IK limbs and a root bone to move the whole rig is the most common (best) method to use.
The body mesh went haywire when I rotated the body bone (Main). There was object mode scaling on the mesh. I appled scale on all mesh objects. The armature object was OK.
I’ll stop there and save. It’s so easy to get way off in the weeds even tho you only asked about one issue. BTW I put the rig on a separate layer than the character meshes while I was troubleshooting the rig.
IK rigging works best with multiple chains (example: FK leg bones constrained to IK leg bones which can be turned on/off). On the “fixed” rig notice how the foot comes off the character now that I changed the parenting. On a multi-rig the foot wouldn’t do that unless you wanted it to. The parenting in the deform bones would be connected so the foot wouldn’t pop off like this.
Usually it’s 3 sets of bones used (deform, FK, and IK) with switches set up to change between FK and IK behavior. You should find Humane Rigging which is CC and on youtube somewhere. Buy it if you can from the Blender store. It shows how to set up a rig like that and much more.
Hope this helps you out. Some clues if nothing else. Yeah it is most confusing but you’ll get over the hump soon.
Welcome to BlenderArtists.org
Edit: Foot bone parented to IK leg bone, not connected and inherit rotation on.