This is what I used to get this working from the examples above. After modifying the fieldInfo for the previously created memorynet feature layer, I created another feature layer from that and then used the "in_memory//" to create yet another layer which had the correctly modified fields.
keepFieldList = ("Field1","Field2", "Field3", "Field4", "Field5")
fieldInfo = ""
fieldList = gp.listfields(memorynet)
for field in fieldList:
if field.name in keepFieldList:
print field.name
fieldInfo = fieldInfo + field.Name + " " + field.name + " VISIBLE;"
else:
fieldInfo = fieldInfo + field.Name + " " + field.Name + " HIDDEN;"
print fieldInfo
gp.MakeFeatureLayer_management(memorynet, "feature_layer", "", "", fieldInfo[:-1])
memfldNet = "in_memory//memfldNet"
arcpy.CopyFeatures_management("feature_layer", memfldNet)