: 'kernel' would be the core part of a program (be it an OS or not). Granted, not all program designs have this kind of a separation, but a typical example would be a program designed with a plugin-like architecture - you'd have a 'core' (aka kernel) part and the plugins.
: This is an usual misunderstanding. Kernel means "the central, substantial or essential part of anything" (webster quote). It's not limited to operating systems.
But the question is abiguous at best (and I would probably call it misleading.) In the context of CS, a kernel is almost always associated with an OS. I've had quite a bit of experience programming, including a lot of reading of newsgroups, magazines, and books. Using the word "kernel" for an application is just not commonly used.