We can't really tell you whether or not it's worth it to fix the engine. Reason being is, what I might be able to afford or contend with, someone else may not. In other words, it's a completely subjective question.
What we can do, rather, is tell you, the engine has a major issue. Most items which may wear over time (ie: bearings) are made out of non-ferrous metals like aluminum and babbet. You should not be able to pick them up with a magnet. The only thing which would produce something like you're seeing, is parts of the engine which should not be broken, so therefore needs to be fixed. The only way to do this is to take the engine apart to see the exact problem. This is not cheap.
Once the problem is determined, you'd have one of two things you could do. First is to have the problem fixed. The second is engine replacement. If, depending on how old the engine is (mileage is a good indication), you might just want to go the 2nd route from the get go and not incur the extra diagnostic costs to get diagnosed. Either way is completely viable, but completely up to you.