G1CollectedHeap::_expand_heap_after_alloc_failure was introduced by JDK-7113006 (fixed in 2012) to eliminate repeated expansion attempts and the associated logging once expansion had failed, resulting in evacuation failure.
However, since then (2015) we have JDK-8003237, which cuts off the appropriate slow path entirely on evacuation failures. That means we won't hit the case where _expand_heap_after_alloc_failure is false more than once. (It can be hit once because survivor space and old space are tracked as full separately.)