This would be difficult and I suspect overtly complex if implemented in modelbuilder, a python solution would be much easier to run.
Here is the code that will achieve what you need:
import arcpy
table = r"C:\Scratch\fGDB_Scratch.gdb\test"
# Creates an array using all fields in table
array = arcpy.da.TableToNumPyArray(table,"*")
# Create a list of field names
lstFields = list(array.dtype.names)
# Remove OBJECTID from list
# You add other fields to remove here, eg. text fields
lstFields.remove("OBJECTID")
# Compute mean and if it falls below limit add to delete list
print("identifying fields to delete...")
toDelete = list()
for fn in lstFields:
if array[fn].mean() < 3.6:
toDelete.append(fn)
# Drop fields
print("Deleting fields...")
arcpy.DeleteField_management(table,toDelete)
print("Done!")
Once you have modified this code to your case drop this code into the Python console window in ArcMap or run it from an IDE.
In my test scenario I have a table and I'm checking the mean of the fields to see if they are below the value of 3.6, obviously adapt it to your scenario. I would recommend you do this from a backed up version in case your logic was wrong. My test table was this:
