By default, Helm occupies the whole screen size below when Helm is invoked.
You could change this behaviour with
(setq helm-split-window-in-side-p 'nil).
I remember from another configuration, that Helm could be altered, to use the whole window.
If I'm right, for example, I have two windows, vertically splitted, with Buffer A in window A, and Buffer B in window B.
I'm currently in window/buffer B. Then I call Helm, and Helm uses the whole window space of window A, and when I press RET, I get switched to another buffer in window B.
I couldn't find any related setting/function to this behaviour in Helm Wiki. So can anyone recognize this behaviour?