Hello,
Looking into this you might be right that flow control could be the cause of this. Basically flow control is a primitive QoS which works on a point-to-point basis between the interfaces. If one NIC can't keep up with the transmission it will send a pause frame (which actually is a multicast frame) that tells the other side to stop for small amount of time, while it catches up.
What is your flowcontrol configuration currently set? (try #show interfaces "interface 0/0" flowcontrol) and see what it says. I would test it out either disabling flow control on the switch, set it to receive only or disable it on the NIC cards.
The fact that disabling portfast seems to fix the issue tells me that, with portfast on there is a sort of a loop create in your enviroment that usually STP prevent through its states. With portfast enabled the switch doesn't listen, learn and then forward, but starts forwarding and this is where you problem starts.
I think that some of the flowe-control Pause frames(multicast frames) are not being recognized correctly by the switch and with portfast enabled it causes creates some loop that take up your resources.
At least that's something to start off with. Check the flow-control settings and check out this link for info on flow-control.
http://blog.internetworkexpert.com/2008/07/08/8023x-flow-control/
/please rate if you found this helpful.
Thank you,
Tom