In my app headers are taking 5Mb+ of retained space in JVM. I was wondering if there is any way to clean them up after osgi bundle initialized.
No, the headers can be queried at runtime, so they cannot be "cleaned up". Your best bet is to strip out any headers you don't need yourself and repackage the bundle(s). 5MB+ does sound like a lot!