The histogram doesn't help more than the table does already. The bins are roughly logarithmically spaced, but I would still focus on the table.
I am usually highly in favour of a graphical or geometric approach, but all the information is in the table any way. Graphical integration is in principle what you want but where does the integral stop?
I would estimate a weighted mean using the frequencies and the geometric mean of bin endpoints. For the one person in the top bin, try once with USD 50 million and once with say USD 100 million.
Assuming no measurement error (!) you can bracket estimates by assuming first that all people are at the lower end of their bin and then that they all are at the upper end. You still need some device for the uppermost bin.
I would note that even the median has to be guessed at with some ad hoc interpolation.
Whatever you do:
Vary the recipe so that you get a good idea of how sensitive results are to your assumptions.
Consider the very strong possibility that there isn't enough information to get out a good estimate of the mean. Why do you want or need it any way? The table and histogram are imperfect, but still informative. (Statistical advice that you really need the full data is natural but futile here.)
EDIT
The calculations are, or should be, mundane. Recall that the geometric mean of two values is the square root of their product. Working with geometric means is equivalent to working on logarithmic scale. Here lower, geometric mean and upper values for each bin are used in weighted means, first with the uppermost bin just USD 50,000,001 and then with its upper limit that plus another USD 50 million. The results do underline how fraught is this exercise. A one-sentence summary would just be that the mean necessarily depends on the total and the total must in turn depend on the distribution within bins and most of all on the very largest value. (Stata output, although that doesn't matter.)
More optimistic one-liner: Mean perhaps around USD 50000.
. su lower geomean upper [fw=freq]
Variable | Obs Mean Std. Dev. Min Max
-------------+---------------------------------------------------------
lower | 8,600 31852.74 676837.3 1 5.00e+07
geomean | 8,600 48887.25 827200.4 122.4786 5.00e+07
upper | 8,600 90684.14 1170382 15001 5.00e+07
. replace upper = 100e6 + 1 in L
(1 real change made)
. replace geomean = sqrt(lower * upper)
(1 real change made)
. su lower geomean upper [fw=freq]
Variable | Obs Mean Std. Dev. Min Max
-------------+---------------------------------------------------------
lower | 8,600 31852.74 676837.3 1 5.00e+07
geomean | 8,600 51295.47 987294.6 122.4786 7.07e+07
upper | 8,600 96498.09 1496963 15001 1.00e+08
.