I can understand why, during the trading day, the bar number of the last completed bar is Count - 2 and that is the last one passed to OnBarUpdate(). That makes sense because bar Count - 1 is still in progress and therefore has not closed.
What I do not understand is why, after the trading day ends, OnBarUpdate() will not be called for that final bar. At that point, there will be no further changes to the bar other than updating any errors and/or lags. The bar is in fact closed.
If I want my indicator to process the last bar showing on the chart, I have to set something other than On Bar Close. It seems strange to me that I can't set On Bar Close and expect my indicator to include that last bar in its processing even when, in the real world, it has closed.
I'm not claiming there is a bug of some sort ... I'm just trying to understand the system a little better.

Comment