I used to do cross stitch designs on sweat shirts and baby blankets and always soaked the finished items in a vinegar/water beth to set the colors. I never had a bleed even with red thread onto a white item. The dyes used might be different in fabric than they are in embroidery thread, so the results might not be the same, but it could be worth a try before fabric is discarded.