Low-level programming for embedded systems is quite different from programming for general purpose devices, such as computers and cell phones.
Efficiency (in terms of speed and space) is far more important because resources are at a premium.
Half of the size comes from the native LCD library.
The B4R framework is very thin. The size of the framework is mostly constant. It will not grow when your program code grows.
In most cases (like in the case you posted above) the size of the native libraries will outweigh the size of your code and the B4R internal libraries.