strGroupPrim = hou.PrimGroup isn't instantiate new object (try print id() for both).
It is a new name for hou.PrimGroup instead of typing hou.PrimGroup over and over again.
This is why you get unbound method error because you don't create a real object of the class.
In order to create new instance of the class you should type strGroupPrim = hou.PrimGroup().
However you can't instantiate directly because it raises up an attribute error and says No constructor defined!
hou.PrimGroup is a class that lets you to modify and manipulate a group so it doesn't make sense to have ability of creating objects directly from this class.
You should create a new primitive group that returns hou.PrimGroup in this case you can use all of hou.PrimGroup methods without any problem.
Let's complete your code:
node = hou.pwd()
geo = node.geometry()
# Add code to modify contents of geo.
# Use drop down menu to select examples.
group = geo.createPrimGroup("Mark_for_Delete")
FaceList = [] # Declare that FaceList is an empty list
for pnts in geo.prims():
if pnts.number() == 5 or pnts.number() == 10:
FaceList.append(pnts)
#strPrm = geo.deletePrims([pnts],keep_points=False)
group.add(pnts)
print FaceList[len(FaceList) - 1].number()
Now you have a primitive group called Mark_for_Delete and you can use in a delete SOP node.
If you uncomment the three last line, primitives number 5 and 10 will delete as well.
Hope this helps.