You make it sound like that behavior is non-standard in some way, but
it is exactly what standard GNU grep does for the -A
(--after-context) option and is typically what people would expect if
you say your grep will print N lines following each matching line.