Just some additional info on output buffering and WordPress. It is perfectly fine to do output buffering on specific pages using ob_start();
code in WordPress (plugin, theme or other pages), BUT using the php.ini directive output_buffering = 4096 in a php.ini file is a known problem for WordPress websites.
Performance WP Specific: Allow or Disallow output buffering. Output buffering is a mechanism for controlling how much output data (excluding headers and cookies) PHP should keep internally before pushing that data to the client. Output buffering does not work well on WordPress sites and causes slower performance. For other types of sites that are NOT WordPress the recommended output buffering setting is: output_buffering = 4096. The ouput buffering setting for WordPress should be: output_buffering = 0 or output_buffering = Off.