Where does this pattern in the feerate distribution per block originate from?
1) Is this known behavior of an algorithm that creates block templates? 


Yes. This is behavior that is present in Bitcoin Core.

Bitcoin Core bundles transactions into "packages" of one or more transactions. Each package consists of an unconfirmed transaction and its children (if any) to cover the case of Child-Pays-For-Parent. The transaction fee rate is calculated for the entire package (total fees paid by the transactions in the package divided by size of the package).

When transactions are selected, it's really the packages that are selected. Because the packages are put inside the block in the order of package fee rate, you will sometimes get a few low fee rate transactions followed by a really high fee rate transaction because they were all part of the same transaction and the high fee rate transaction was a child that paid for it's parent(s).

This is called "ancestor fee rate ordering".


  2) What motivation is there behind this feature. Is it a bug?


It is neither a feature nor a bug, it is just a quirk of how the transaction selection works.



See also: https://bitcointalk.org/index.php?topic=2058831.0